summaryrefslogtreecommitdiff
path: root/src/3d/renderer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/3d/renderer.cc')
-rw-r--r--src/3d/renderer.cc19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/3d/renderer.cc b/src/3d/renderer.cc
index 6e8f38a..c37ea79 100644
--- a/src/3d/renderer.cc
+++ b/src/3d/renderer.cc
@@ -164,16 +164,15 @@ void Renderer3D::update_uniforms(const Scene& scene, const Camera& camera,
data.color = obj.color;
float type_id = 0.0f;
- if (obj.type == ObjectType::SPHERE)
- type_id = 1.0f;
- else if (obj.type == ObjectType::BOX)
- type_id = 2.0f;
- else if (obj.type == ObjectType::TORUS)
- type_id = 3.0f;
- else if (obj.type == ObjectType::PLANE)
- type_id = 4.0f;
- else if (obj.type == ObjectType::MESH)
- type_id = 5.0f;
+ switch (obj.type) {
+ case ObjectType::SPHERE: type_id = 1.0f; break;
+ case ObjectType::BOX: type_id = 2.0f; break;
+ case ObjectType::CUBE: type_id = 2.0f; break; // CUBE is same as BOX for shader
+ case ObjectType::TORUS: type_id = 3.0f; break;
+ case ObjectType::PLANE: type_id = 4.0f; break;
+ case ObjectType::MESH: type_id = 5.0f; break;
+ default: type_id = 0.0f; break;
+ }
data.params = vec4(type_id, obj.local_extent.x, obj.local_extent.y, obj.local_extent.z);
obj_data.push_back(data);
if (obj_data.size() >= kMaxObjects)