Class: GLViewer::Camera
- Inherits:
-
Object
- Object
- GLViewer::Camera
- Defined in:
- lib/rglviewer/camera.rb
Instance Attribute Summary collapse
-
#field_of_view ⇒ Object
Returns the value of attribute field_of_view.
-
#height ⇒ Object
Returns the value of attribute height.
-
#scene_center ⇒ Object
Returns the value of attribute scene_center.
-
#scene_radius ⇒ Object
Returns the value of attribute scene_radius.
-
#type ⇒ Object
Returns the value of attribute type.
-
#width ⇒ Object
Returns the value of attribute width.
Instance Method Summary collapse
-
#initialize(args = {}) ⇒ Camera
constructor
A new instance of Camera.
- #load_model_view_matrix ⇒ Object
- #load_projection_matrix ⇒ Object
Constructor Details
#initialize(args = {}) ⇒ Camera
Returns a new instance of Camera.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rglviewer/camera.rb', line 15 def initialize args = {} @width = args[:width] || 640 @height = args[:height] || 480 @scene_radius = args[:scene_radius] || 1.0 @scene_center = args[:scene_center] || [0.0,0.0,0.0] @type = args[:type] || :perspective @field_of_view = args[:field_of_view] || Math::PI / 4.0 @z_clipping_coefficient = args[:z_clipping_coefficient] || Math.sqrt(3.0) @z_near_coefficient = args[:z_near_corefficient] || 0.005 #@frame = args[:frame] #unless @frame # t = Vector.from_array [0.0, 0.0, 2 * @scene_radius] # @frame.new :translation => t #end end |
Instance Attribute Details
#field_of_view ⇒ Object
Returns the value of attribute field_of_view.
13 14 15 |
# File 'lib/rglviewer/camera.rb', line 13 def field_of_view @field_of_view end |
#height ⇒ Object
Returns the value of attribute height.
12 13 14 |
# File 'lib/rglviewer/camera.rb', line 12 def height @height end |
#scene_center ⇒ Object
Returns the value of attribute scene_center.
13 14 15 |
# File 'lib/rglviewer/camera.rb', line 13 def scene_center @scene_center end |
#scene_radius ⇒ Object
Returns the value of attribute scene_radius.
13 14 15 |
# File 'lib/rglviewer/camera.rb', line 13 def scene_radius @scene_radius end |
#type ⇒ Object
Returns the value of attribute type.
13 14 15 |
# File 'lib/rglviewer/camera.rb', line 13 def type @type end |
#width ⇒ Object
Returns the value of attribute width.
12 13 14 |
# File 'lib/rglviewer/camera.rb', line 12 def width @width end |
Instance Method Details
#load_model_view_matrix ⇒ Object
37 38 39 40 41 |
# File 'lib/rglviewer/camera.rb', line 37 def load_model_view_matrix glMatrixMode(GL_MODELVIEW) glLoadIdentity glTranslatef(0.0,0.0, -5.0 * @scene_radius) end |
#load_projection_matrix ⇒ Object
31 32 33 34 35 |
# File 'lib/rglviewer/camera.rb', line 31 def load_projection_matrix glMatrixMode(GL_PROJECTION) glLoadIdentity method("load_" + @type.to_s).call end |