Sha256: 1748354dc62cf9fe9d086e40afac067e3693a0d517f943152e521190bda81c26

Contents?: true

Size: 764 Bytes

Versions: 29

Compression:

Stored size: 764 Bytes

Contents

%w[xot rays reflex]
  .map  {|s| File.expand_path "../../#{s}/lib", __dir__}
  .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

29 entries across 29 versions & 1 rubygems

Version Path
reflexion-0.3.4 samples/shader.rb
reflexion-0.3.3 samples/shader.rb
reflexion-0.3.2 samples/shader.rb
reflexion-0.3.1 samples/shader.rb
reflexion-0.3 samples/shader.rb
reflexion-0.2.1 samples/shader.rb
reflexion-0.2 samples/shader.rb
reflexion-0.1.57 samples/shader.rb
reflexion-0.1.56 samples/shader.rb
reflexion-0.1.55 samples/shader.rb
reflexion-0.1.54 samples/shader.rb
reflexion-0.1.53 samples/shader.rb
reflexion-0.1.52 samples/shader.rb
reflexion-0.1.51 samples/shader.rb
reflexion-0.1.50 samples/shader.rb
reflexion-0.1.49 samples/shader.rb
reflexion-0.1.48 samples/shader.rb
reflexion-0.1.47 samples/shader.rb
reflexion-0.1.46 samples/shader.rb
reflexion-0.1.45 samples/shader.rb