Class: Meshes::Cube
- Inherits:
-
Mesh
- Object
- Mesh
- Meshes::Cube
- Defined in:
- lib/belts_opengl/assets/meshes/cube.rb
Instance Method Summary collapse
-
#initialize ⇒ Cube
constructor
A new instance of Cube.
Constructor Details
#initialize ⇒ Cube
Returns a new instance of Cube.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/belts_opengl/assets/meshes/cube.rb', line 3 def initialize common_vertices = [ # Back face [-HU, HU, -HU], [-HU, -HU, -HU], [HU, -HU, -HU], [HU, HU, -HU], # Front face [HU, HU, HU], [HU, -HU, HU], [-HU, -HU, HU], [-HU, HU, HU] ] vertices = [ # Back face *common_vertices[0], *Vec3.back, *common_vertices[1], *Vec3.back, *common_vertices[2], *Vec3.back, *common_vertices[3], *Vec3.back, # Right face *common_vertices[3], *Vec3.right, *common_vertices[2], *Vec3.right, *common_vertices[5], *Vec3.right, *common_vertices[4], *Vec3.right, # Front face *common_vertices[4], *Vec3.forward, *common_vertices[5], *Vec3.forward, *common_vertices[6], *Vec3.forward, *common_vertices[7], *Vec3.forward, # Left face *common_vertices[7], *Vec3.left, *common_vertices[6], *Vec3.left, *common_vertices[1], *Vec3.left, *common_vertices[0], *Vec3.left, # Top face *common_vertices[7], *Vec3.up, *common_vertices[0], *Vec3.up, *common_vertices[3], *Vec3.up, *common_vertices[4], *Vec3.up, # Bottom face *common_vertices[1], *Vec3.down, *common_vertices[6], *Vec3.down, *common_vertices[5], *Vec3.down, *common_vertices[2], *Vec3.down ] indexes = (0..5).map do |i| stride = i * 4 [ stride, stride + 1, stride + 2, stride + 2, stride + 3, stride ] end.flatten super(vertices, indexes) end |