UI quad and Vector2 uniform.
This commit is contained in:
27
mesh.odin
27
mesh.odin
@@ -50,7 +50,7 @@ create_mesh_layout_vertices_indices :: proc(renderer: ^Renderer, layout: []Mesh_
|
||||
|
||||
Primitive_Mesh_Type :: enum {
|
||||
Cube,
|
||||
Quad,
|
||||
UI_Quad, World_Quad, // NOTE: SS - Not sure I like two quads but it's probably alright.
|
||||
Sphere,
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ create_mesh_from_primitive :: proc(renderer: ^Renderer, primitive_mesh_type: Pri
|
||||
|
||||
return m, ok
|
||||
}
|
||||
case .Quad: {
|
||||
case .World_Quad: {
|
||||
m, ok := create_mesh(
|
||||
renderer = renderer,
|
||||
layout = {
|
||||
@@ -142,7 +142,7 @@ create_mesh_from_primitive :: proc(renderer: ^Renderer, primitive_mesh_type: Pri
|
||||
{ "tangent", 3, size_of(f32), },
|
||||
},
|
||||
vertices = []f32 {
|
||||
// Positions. // Normals // Texture Coordinates. // Tangent.
|
||||
// Positions. // Normals. // Texture Coordinates. // Tangent.
|
||||
0.5, 0.5, 0.0, 0, 0, 0, 1.0, 1.0, 1, 0, 0, // Top right.
|
||||
0.5, -0.5, 0.0, 0, 0, 0, 1.0, 0.0, 1, 0, 0, // Bottom right.
|
||||
-0.5, -0.5, 0.0, 0, 0, 0, 0.0, 0.0, 1, 0, 0, // Bottom left.
|
||||
@@ -155,6 +155,27 @@ create_mesh_from_primitive :: proc(renderer: ^Renderer, primitive_mesh_type: Pri
|
||||
)
|
||||
return m, ok
|
||||
}
|
||||
case .UI_Quad: {
|
||||
m, ok := create_mesh(
|
||||
renderer = renderer,
|
||||
layout = {
|
||||
{ "position", 3, size_of(f32), },
|
||||
{ "texture_coords", 2, size_of(f32), },
|
||||
},
|
||||
vertices = []f32 {
|
||||
// Positions. // UV.
|
||||
0.0, 0.0, 0.0, 0.0, 1.0,
|
||||
1.0, 0.0, 0.0, 1.0, 1.0,
|
||||
1.0, 1.0, 0.0, 1.0, 0.0,
|
||||
0.0, 1.0, 0.0, 0.0, 0.0,
|
||||
},
|
||||
indices = []u32 {
|
||||
0, 1, 2,
|
||||
0, 2, 3,
|
||||
}
|
||||
)
|
||||
return m, ok
|
||||
}
|
||||
case .Sphere: {
|
||||
X_SEGMENTS :: 64
|
||||
Y_SEGMENTS :: 32
|
||||
|
||||
Reference in New Issue
Block a user