| Age | Commit message (Collapse) | Author |
|
Refactors the SceneLoader class to a namespace. Since it only contained a single static utility function, a namespace is a more appropriate and idiomatic C++ construct. No functional changes.
|
|
Converts all static_cast<>, reinterpret_cast<> to C-style casts
per CODING_STYLE.md guidelines.
- Modified 12 files across gpu, 3d, util, tests, and tools
- All builds passing, 34/34 tests passing
- No functional changes, pure style cleanup
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Implements Task #73 - Extends shader parametrization system to
ChromaAberrationEffect following the FlashEffect pattern.
Changes:
- Added ChromaAberrationParams struct (offset_scale, angle)
- Added ChromaUniforms with proper WGSL alignment (32 bytes)
- Updated shader to compute offset direction from angle parameter
- Extended seq_compiler to parse offset/angle parameters
- Updated demo.seq with 2 parameterized instances:
* Line 50: offset=0.03 angle=0.785 (45° diagonal, stronger)
* Line 76: offset=0.01 angle=1.57 (90° vertical, subtle)
Technical details:
- Backward-compatible default constructor maintained
- Migrated from raw buffer to UniformBuffer<ChromaUniforms>
- Shader computes direction: vec2(cos(angle), sin(angle))
- Generated code creates ChromaAberrationParams initialization
Testing:
- All 32/32 tests pass
- Demo runs without errors
- Binary size: 5.6M stripped (~200-300 bytes impact)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
This commit integrates the plane_distance functionality by:
- Adding shared_user_data to Object3D for storing type-specific data.
- Modifying SceneLoader to read and store plane_distance in shared_user_data for PLANE objects.
- Updating ObjectData struct in renderer.h to use params.x for object type and params.y for plane_distance.
- Modifying Renderer3D::update_uniforms to populate ObjectData::params.y with plane_distance for PLANE objects.
- Adjusting blender_export.py to correctly export plane_distance and reorder quaternion components.
A manual step is required to update WGSL shaders to utilize ObjectData.params.y for plane distance calculations.
|
|
|
|
|