Sha256: 6c8ad70773383e3bbb86d7086310b0d08400bbf439bf996f190b1e651c33e3f7

Contents?: true

Size: 794 Bytes

Versions: 16

Compression:

Stored size: 794 Bytes

Contents

# -*- coding: utf-8 -*-


%w[xot rays reflex]
  .map  {|s| File.expand_path "../../../#{s}/lib", __FILE__}
  .each {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}

require 'reflex'


win = Reflex::Window.new do
  set :title, "Shader Sample"
  set :frame, 100, 100, 300, 300

  start = Time.now.to_f

  painter.shader <<-END
    varying vec4 v_TexCoord;
    uniform vec2 resolution;
    uniform float time;
    void main ()
    {
      vec2 pos = v_TexCoord.xy / resolution;
      gl_FragColor = vec4(pos, float(mod(time, 1.0)), 1);
    }
  END

  on :draw do |e|
    e.paint do
      shader.uniform resolution: bounds.size.to_a, time: Time.now.to_f - start
      rect bounds
    end
  end

  on :update do
    redraw
  end
end


Reflex.start name: "Shader Sample" do
  win.show
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
reflexion-0.1.29 samples/shader.rb
reflexion-0.1.28 samples/shader.rb
reflexion-0.1.27 samples/shader.rb
reflexion-0.1.26 samples/shader.rb
reflexion-0.1.25 samples/shader.rb
reflexion-0.1.24 samples/shader.rb
reflexion-0.1.23 samples/shader.rb
reflexion-0.1.22 samples/shader.rb
reflexion-0.1.21 samples/shader.rb
reflexion-0.1.20 samples/shader.rb
reflexion-0.1.19 samples/shader.rb
reflexion-0.1.17 samples/shader.rb
reflexion-0.1.16 samples/shader.rb
reflexion-0.1.15 samples/shader.rb
reflexion-0.1.14 samples/shader.rb
reflexion-0.1.13 samples/shader.rb