summaryrefslogtreecommitdiff
path: root/src/tests/test_3d_render.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-02 17:34:03 +0100
committerskal <pascal.massimino@gmail.com>2026-02-02 17:34:03 +0100
commit4eb0a67ad12fdd8c82d7cbc37991b6977cb86568 (patch)
tree711906bed69332a599c172fae16a81c73b2b9925 /src/tests/test_3d_render.cc
parent1971b20ebca35bc8dbe24902dd5749413b43ff1b (diff)
fix(3d): Distinguish floor grid from object textures
- Switched floor back to PLANE type in test_3d_render. - Updated fragment shader to apply grid pattern ONLY to PLANE objects. - Restored noise-based bump mapping and texturing for BOX and other SDF primitives. - Verified correct visual appearance of floating cubes (no fixed grid).
Diffstat (limited to 'src/tests/test_3d_render.cc')
-rw-r--r--src/tests/test_3d_render.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/tests/test_3d_render.cc b/src/tests/test_3d_render.cc
index 9f046f9..a6db71b 100644
--- a/src/tests/test_3d_render.cc
+++ b/src/tests/test_3d_render.cc
@@ -137,10 +137,10 @@ void setup_scene() {
g_scene.clear();
srand(12345); // Fixed seed
- // Large floor, use BOX type (SDF) for receiving shadows
- Object3D floor(ObjectType::BOX);
+ // Large floor, use PLANE type
+ Object3D floor(ObjectType::PLANE);
floor.position = vec3(0, -2.0f, 0);
- floor.scale = vec3(25.0f, 0.2f, 25.0f);
+ floor.scale = vec3(25.0f, 1.0f, 25.0f); // Thicker for proxy hull safety
floor.color = vec4(0.8f, 0.8f, 0.8f, 1.0f);
g_scene.add_object(floor);
@@ -172,8 +172,11 @@ void setup_scene() {
float dist = 3.0f + (rand() % 100) * 0.05f; // Closer to center
float height = 0.5f + (rand() % 100) * 0.04f;
obj.position = vec3(std::cos(angle) * dist, height, std::sin(angle) * dist);
- float s = 0.6f + (rand() % 100) * 0.008f; // Larger
- obj.scale = vec3(s, s, s);
+
+ // Random non-uniform scale for debugging
+ float s = 0.6f + (rand() % 100) * 0.008f;
+ obj.scale = vec3(s, s * 1.2f, s * 0.8f);
+
obj.color = vec4((rand() % 100) / 100.0f, (rand() % 100) / 100.0f,
(rand() % 100) / 100.0f, 1.0f);
g_scene.add_object(obj);