From c194f59e171a1e58ce1704f37d99ffcd09a42433 Mon Sep 17 00:00:00 2001 From: skal Date: Mon, 2 Feb 2026 15:55:03 +0100 Subject: fix(gpu): Resolve high-DPI squished rendering and 3D shadow bugs - Implemented dynamic resolution support in all shaders and effects. - Added explicit viewport setting for all render passes to ensure correct scaling. - Fixed 3D shadow mapping by adding PLANE support and standardizing soft shadow logic. - Propagated resize events through the Effect hierarchy. - Applied project-wide code formatting. --- src/tests/test_3d_render.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/tests/test_3d_render.cc') diff --git a/src/tests/test_3d_render.cc b/src/tests/test_3d_render.cc index fbf5fc0..e8a6bf1 100644 --- a/src/tests/test_3d_render.cc +++ b/src/tests/test_3d_render.cc @@ -141,7 +141,8 @@ void setup_scene() { Object3D floor(ObjectType::CUBE); floor.position = vec3(0, -2.0f, 0); floor.scale = vec3(20.0f, 0.5f, 20.0f); - floor.color = vec4(0.9f, 0.9f, 0.9f, 1.0f); // Brighter white for better shadow contrast + floor.color = + vec4(0.9f, 0.9f, 0.9f, 1.0f); // Brighter white for better shadow contrast g_scene.add_object(floor); // Center object @@ -155,20 +156,23 @@ void setup_scene() { for (int i = 0; i < 30; ++i) { ObjectType type = ObjectType::SPHERE; int r = rand() % 3; - if (r == 1) type = ObjectType::TORUS; - if (r == 2) type = ObjectType::BOX; + if (r == 1) + type = ObjectType::TORUS; + if (r == 2) + type = ObjectType::BOX; Object3D obj(type); float angle = (rand() % 360) * 0.01745f; float dist = 3.0f + (rand() % 100) * 0.05f; float height = -1.0f + (rand() % 100) * 0.04f; - + obj.position = vec3(std::cos(angle) * dist, height, std::sin(angle) * dist); - + float s = 0.3f + (rand() % 100) * 0.005f; obj.scale = vec3(s, s, s); - obj.color = vec4((rand()%100)/100.0f, (rand()%100)/100.0f, (rand()%100)/100.0f, 1.0f); + obj.color = vec4((rand() % 100) / 100.0f, (rand() % 100) / 100.0f, + (rand() % 100) / 100.0f, 1.0f); g_scene.add_object(obj); } -- cgit v1.2.3