Class: CyberarmEngine::Renderer

Inherits:
Object
  • Object
show all
Defined in:
lib/cyberarm_engine/opengl/renderer/renderer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRenderer

Returns a new instance of Renderer.



5
6
7
8
# File 'lib/cyberarm_engine/opengl/renderer/renderer.rb', line 5

def initialize
  @bounding_box_renderer = BoundingBoxRenderer.new
  @opengl_renderer = OpenGLRenderer.new(width: CyberarmEngine::Window.instance.width, height: CyberarmEngine::Window.instance.height)
end

Instance Attribute Details

#bounding_box_rendererObject (readonly)

Returns the value of attribute bounding_box_renderer.



3
4
5
# File 'lib/cyberarm_engine/opengl/renderer/renderer.rb', line 3

def bounding_box_renderer
  @bounding_box_renderer
end

#opengl_rendererObject (readonly)

Returns the value of attribute opengl_renderer.



3
4
5
# File 'lib/cyberarm_engine/opengl/renderer/renderer.rb', line 3

def opengl_renderer
  @opengl_renderer
end

Instance Method Details

#canvas_size_changedObject



26
27
28
# File 'lib/cyberarm_engine/opengl/renderer/renderer.rb', line 26

def canvas_size_changed
  @opengl_renderer.canvas_size_changed
end

#draw(camera, lights, entities) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/cyberarm_engine/opengl/renderer/renderer.rb', line 10

def draw(camera, lights, entities)
  Stats.frame.start_timing(:opengl_renderer)

  Stats.frame.start_timing(:opengl_model_renderer)
  @opengl_renderer.render(camera, lights, entities)
  Stats.frame.end_timing(:opengl_model_renderer)

  if @show_bounding_boxes
    Stats.frame.start_timing(:opengl_boundingbox_renderer)
    @bounding_box_renderer.render(entities)
    Stats.frame.end_timing(:opengl_boundingbox_renderer)
  end

  Stats.frame.end_timing(:opengl_renderer)
end

#finalizeObject

cleanup



30
31
# File 'lib/cyberarm_engine/opengl/renderer/renderer.rb', line 30

def finalize # cleanup
end