Class: BeltsOpengl::Assets::Mesh
- Inherits:
-
Object
- Object
- BeltsOpengl::Assets::Mesh
- Includes:
- BufferHelpers
- Defined in:
- lib/belts_opengl/assets/mesh.rb
Constant Summary collapse
- U =
Unit size
1.0- HU =
Half unit size
U/2
Instance Method Summary collapse
- #destroy ⇒ Object
- #draw ⇒ Object
-
#initialize(vertices, indexes) ⇒ Mesh
constructor
A new instance of Mesh.
Constructor Details
#initialize(vertices, indexes) ⇒ Mesh
Returns a new instance of Mesh.
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/belts_opengl/assets/mesh.rb', line 24 def initialize(vertices, indexes) @vertices = vertices @indexes = indexes @vao = create_vertex_array_buffer @vbo = create_buffer @ebo = create_buffer upload_vertice_data end |
Instance Method Details
#destroy ⇒ Object
40 41 42 43 44 |
# File 'lib/belts_opengl/assets/mesh.rb', line 40 def destroy GL.DeleteVertexArrays(1, [@vao].pack('L')) GL.DeleteBuffers(1, [@vbo].pack('L')) GL.DeleteBuffers(1, [@ebo].pack('L')) end |
#draw ⇒ Object
35 36 37 38 |
# File 'lib/belts_opengl/assets/mesh.rb', line 35 def draw GL.BindVertexArray(@vao) GL.DrawElements(GL::TRIANGLES, @indexes.size, GL::UNSIGNED_INT, 0) end |