summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Svjatoslav Agejenko [Wed, 1 Apr 2026 20:12:44 +0000 (23:12 +0300)]
refactor(demo): simplify benchmark teardown and improve CSG demo structure
- Replace manual shape removal loops with shapes.clear() in all benchmark
teardown methods for cleaner and more efficient cleanup
- Extract createCube() and createSphere() factory methods in CSGDemo to
encapsulate shape creation with appropriate shading settings (cubes with
shading enabled, spheres with shading disabled for glow effect)
- Update CSG demo colors to green/orange palette and enhance lighting
configuration with brighter lights and warm fill tint
- Use static color imports for cleaner code in description panels
Svjatoslav Agejenko [Mon, 30 Mar 2026 16:45:36 +0000 (19:45 +0300)]
refactor(demos): adopt new sixth-3d API and add tutorial docs
Update all demos to use the modernized sixth-3d engine API with fluent
factory methods and in-place CSG operations. Add comprehensive tutorial
documentation in the Essentials section with screenshots and code examples.
- Use static imports: Point3D.point(), Color.hex()
- Replace CSG class usage with in-place union/subtract/intersect methods
- Update to renamed classes: SolidTriangle, TexturedTriangle
- Use SolidPolygon.quad() for quad surfaces instead of two triangles
- Add Minimal Example tutorial with step-by-step walkthrough
- Add screenshots for CSG, Coordinate System, Shape Gallery, Winding Order
- Rename AxisArrowsDemo to CoordinateSystemDemo with class references
Svjatoslav Agejenko [Sat, 28 Mar 2026 12:50:34 +0000 (14:50 +0200)]
feat(demos): add CSG and axis demos, reorganize into essentials subpackage
Add two new demonstration apps:
- CSGDemo: showcases boolean operations (subtract, union, intersect) on
3D shapes using the BSP-based CSG system from sixth-3d
- AxisArrowsDemo: displays coordinate system axes with colored arrows
(X=red, Y=green, Z=blue) and text labels
Reorganize demo structure:
- Move basic demos (MinimalExample, WindingOrderDemo, ShapeGalleryDemo)
to examples.essentials subpackage for cleaner organization
- Rename ShadedShapesDemo to ShapeGalleryDemo for clarity
- Remove RandomPolygonsDemo (redundant with other polygon demos)
Update launcher with two-tier layout: "Essentials" section for core
demos, "Demos" section for advanced applications. Simplify arrow
constructors in ArrowDemo and ShapeGalleryDemo using auto-calculated
tip dimensions.
Svjatoslav Agejenko [Wed, 25 Mar 2026 16:36:44 +0000 (18:36 +0200)]
feat(demos): add shape gallery and arrow demo, enhance terrain demo
Add ArrowDemo showcasing SolidPolygonArrow and SolidPolygonCone shapes
with various colors, sizes, orientations, and transparency levels.
Transform ShadedShapesDemo into a comprehensive 3D Shape Gallery
displaying all 7 shape types (arrow, cone, cube, cylinder, pyramid,
box, sphere) in both solid polygon and wireframe variants.
Rename diamondsquare_demo to terrain_demo and add FractalTree shape.
DiamondSquareTerrain now exposes getHeightAt() for terrain height queries.
Add descriptive window titles to all demo applications.
Svjatoslav Agejenko [Mon, 23 Mar 2026 19:59:34 +0000 (21:59 +0200)]
refactor(demos): adopt new transform API and simplify initialization
Update all demos to use the 6-parameter Transform.fromAngles and set
methods that accept full Euler rotation (x, y, z, yaw, pitch, roll).
Remove explicit render thread start calls since ViewPanel now auto-starts
on component events. Add initial repaint signals where needed.
OctreeDemo now adds lights to both raytracer and rasterizer lighting
systems for consistent illumination. Rename DiamondSquareLandscape to
TerrainDemo for clarity. Increase voxel opacity in fractal from 100 to
200 for better visibility.
Svjatoslav Agejenko [Sun, 22 Mar 2026 19:16:32 +0000 (21:16 +0200)]
feat(demo): add diamond-square procedural terrain demo
Add DiamondSquareLandscape demo showcasing procedural terrain
generation with 3 colored light sources.
Update all demos to use global LightingManager from ViewPanel instead
of creating per-demo instances. Update Quaternion API calls from
setQuaternion() to set().
Squashed commits:
- feat(demo): add diamond-square procedural terrain demo
- refactor(demos): update demos to use global LightingManager
- refactor: update demos to use Quaternion.set() instead of setQuaternion()
Svjatoslav Agejenko [Fri, 20 Mar 2026 21:03:46 +0000 (23:03 +0200)]
refactor(demos): adapt to new Transform API
Svjatoslav Agejenko [Fri, 20 Mar 2026 21:03:36 +0000 (23:03 +0200)]
feat: enhance benchmark and add surface graph
- Add results dialog with copy-to-clipboard
- Add lit solid cubes test
- Update benchmark results and documentation
- Add SurfaceGraph3D class for 3D surface visualization
- Split and rename GraphDemo to SineHeightmap
- Clarify 'Cores' label as 'CPU cores'
Svjatoslav Agejenko [Fri, 20 Mar 2026 21:03:25 +0000 (23:03 +0200)]
feat: add minimal example and improve docs
- Add MinimalExample minimal example
- Add package-info.java for demo packages
- Add descriptions to launcher demo buttons
- Rename MyFirstScene to MinimalExample
- Add explicit constructors to fix javadoc warnings
- Rename screenshots and add developer tools section
Svjatoslav Agejenko [Fri, 20 Mar 2026 21:03:16 +0000 (23:03 +0200)]
feat: add graphics benchmark framework
- Convert GraphicsBenchmark to automated test runner
- Add wireframe and textured cubes tests
- Add StarGridTest benchmark for billboard rendering
- Add system info to benchmark output
- Add keyboard shortcut to skip tests
- Add WindingOrderDemo to test backface culling
- Fix render thread startup and benchmark timing
Svjatoslav Agejenko [Sun, 15 Mar 2026 01:16:30 +0000 (03:16 +0200)]
Initial commit