summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Svjatoslav Agejenko [Sun, 22 Mar 2026 19:10:55 +0000 (21:10 +0200)]
feat(engine): add DiamondSquare and improve rendering architecture
Add DiamondSquare algorithm for procedural terrain heightmap generation.
Merge Rotation class into Quaternion for unified rotation handling.
Introduce global LightingManager in ViewPanel for scene-wide lighting.
Fix text rendering to use per-segment Graphics2D for proper clipping.
Fix raytracer camera frame to use inverse rotation.
Add comprehensive documentation for perspective-correct texture mapping.
Simplify debug log buffer by removing passthrough feature.
Squashed commits:
- fix(raytracer): use inverse rotation when placing camera frame
- refactor(gui): remove stdout passthrough from debug log buffer
- fix(render): use per-segment Graphics2D to clip text rendering
- docs: add CUSTOM_ID properties to all org-mode sections
- feat(math): add DiamondSquare algorithm and document composite shape fields
- refactor(gui): improve developer tools and composite shape logging
- refactor(lighting): use global LightingManager in ViewPanel
- refactor(math): merge Rotation into Quaternion
- docs: move perspective texture docs to dedicated directory
Svjatoslav Agejenko [Fri, 20 Mar 2026 20:51:50 +0000 (22:51 +0200)]
refactor(math): simplify Rotation API to use quaternions exclusively
Svjatoslav Agejenko [Fri, 20 Mar 2026 20:51:42 +0000 (22:51 +0200)]
feat(math): add Matrix3x3 and Quaternion for 3D transformations
- Add Matrix3x3 class for 3D transformations
- Add toMatrix method to Rotation with test
- Use matrix for point transformation
- Cache transformation matrix for performance
- Add Quaternion class for 3D rotations
- Use quaternion internally instead of Euler angles
- Use quaternion-based camera rotation
- Use rotation matrix for movement direction
- Use quaternion for lookAt rotation
Svjatoslav Agejenko [Fri, 20 Mar 2026 20:51:34 +0000 (22:51 +0200)]
docs: add TODO roadmap
- Add comprehensive TODO roadmap with organized sections
- Consolidate future ideas into TODO.org
- Remove outdated ideas and simplify structure
Svjatoslav Agejenko [Fri, 20 Mar 2026 20:51:28 +0000 (22:51 +0200)]
perf: optimize texture rendering and scanlines
- Optimize scanline texture coordinate interpolation
- Optimize texture sampling and add alpha blending
- Optimize mipmap downsampling/upsampling with direct pixel ops
- Fix y-coordinate swap in drawRectangle
- Use Arrays.fill for fillColor and opaque scanlines
Svjatoslav Agejenko [Fri, 20 Mar 2026 20:51:20 +0000 (22:51 +0200)]
feat: add debug tools and documentation
- Add F12 debug panel with toggleable diagnostic features
- Add alternate segments rendering for overdraw detection
- Add WindingOrderDemo example
- Add comprehensive Javadoc to geometry and shape classes
- Add rendering loop documentation with screenshots
- Add package-info.java for all major packages
- Rename DebugSettings to DeveloperTools
- Fix frame number tracking and buffer strategy initialization
Svjatoslav Agejenko [Sun, 15 Mar 2026 01:15:47 +0000 (03:15 +0200)]
Initial commit