diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-02 15:55:03 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-02 15:55:03 +0100 |
| commit | c194f59e171a1e58ce1704f37d99ffcd09a42433 (patch) | |
| tree | f77a32f2c4c23b335209b8df11cc82920388b51a /src/tests/test_3d_render.cc | |
| parent | 316825883c705ed0fe927c32e072f98141d3eaa3 (diff) | |
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.
Diffstat (limited to 'src/tests/test_3d_render.cc')
| -rw-r--r-- | src/tests/test_3d_render.cc | 16 |
1 files changed, 10 insertions, 6 deletions
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); } |
