Sha256: a20c9803bacdf36d37bca926de405f95e082e7627129b6069eb0dd6c084d207b

Contents?: true

Size: 1.03 KB

Versions: 8

Compression:

Stored size: 1.03 KB

Contents

require_relative 'helper'


class TestShader < Test::Unit::TestCase

  def color(*args)
    Rays::Color.new(*args)
  end

  def shader(vs = vshader, fs = fshader)
    Processing::Shader.new vs, fs
  end

  def vshader()
    "void main() {gl_Position = vec4(0.0, 0.0, 0.0, 1.0);}"
  end

  def fshader()
    "void main() {gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);}"
  end

  def test_initialize()
    assert shader vshader, fshader
    assert shader nil,     fshader

    assert_raise(ArgumentError) {shader "", fshader}
    assert_raise(ArgumentError) {shader vshader, ""}
    assert_raise(ArgumentError) {shader vshader, nil}
  end

  def test_uniform()
    sh = shader(nil, <<~END).tap {|s| s.set :val, 1.0}
      uniform float val;
      void main() {gl_FragColor = vec4(val, 0.0, 0.0, 1.0);}
    END

    graphics do |g, image|
      g.shader sh
      g.rect 0, 0, 10, 10
      assert_equal color(1, 0, 0, 1), image[0, 0]
    end
  end

  def test_inspect()
    assert_match %r|#<Processing::Shader:0x\w{16}>|, shader.inspect
  end

end# TestShader

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
processing-0.5.14 test/test_shader.rb
processing-0.5.13 test/test_shader.rb
processing-0.5.12 test/test_shader.rb
processing-0.5.11 test/test_shader.rb
processing-0.5.10 test/test_shader.rb
processing-0.5.9 test/test_shader.rb
processing-0.5.8 test/test_shader.rb
processing-0.5.6 test/test_shader.rb