Class: Rendering::ScreenQuad

Inherits:
Object
  • Object
show all
Defined in:
lib/engine/rendering/screen_quad.rb

Instance Method Summary collapse

Constructor Details

#initializeScreenQuad

Returns a new instance of ScreenQuad.



5
6
7
8
9
# File 'lib/engine/rendering/screen_quad.rb', line 5

def initialize
  setup_vao
  setup_vbo
  Engine::GL.BindVertexArray(0)
end

Instance Method Details

#draw(material, texture) ⇒ Object



11
12
13
14
# File 'lib/engine/rendering/screen_quad.rb', line 11

def draw(material, texture)
  material.set_runtime_texture("screenTexture", texture)
  draw_with_material(material)
end

#draw_rawObject



22
23
24
25
# File 'lib/engine/rendering/screen_quad.rb', line 22

def draw_raw
  Engine::GL.BindVertexArray(@vao)
  Engine::GL.DrawArrays(Engine::GL::TRIANGLES, 0, 6)
end

#draw_with_material(material) ⇒ Object



16
17
18
19
20
# File 'lib/engine/rendering/screen_quad.rb', line 16

def draw_with_material(material)
  material.update_shader
  Engine::GL.BindVertexArray(@vao)
  Engine::GL.DrawArrays(Engine::GL::TRIANGLES, 0, 6)
end