docs(rendering): document render pipeline, lighting, and optimize normals
authorSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Mon, 6 Apr 2026 13:52:00 +0000 (16:52 +0300)
committerSvjatoslav Agejenko <svjatoslav@svjatoslav.eu>
Mon, 6 Apr 2026 13:52:00 +0000 (16:52 +0300)
commita4dd962eb49179a0b31548f876091ac1e580813e
tree156a4f927e9d843ddb919adccba33a444e399763
parent2f6d4d86c89a700fc70e9d7c38d37134ffb2fed2
docs(rendering): document render pipeline, lighting, and optimize normals

Add comprehensive documentation for the rendering pipeline with SVG
diagrams showing the Shapes→Transform→Sort→Paint→Blit flow. Document
double-buffering, painter's algorithm, and frame listeners.

Add shading & lighting guide covering Lambert cosine law, light sources,
ambient light, and distance attenuation with visual diagrams.

Refactor Plane to expose computeNormal() for zero-allocation normal
computation, and move canvas clearing into parallel paint phase for
better memory bandwidth utilization.
TODO.org
doc/index.org
doc/rendering-loop/index.org
doc/shading/Shaded sphere.png [new file with mode: 0644]
doc/shading/index.org [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Plane.java
src/main/java/eu/svjatoslav/sixth/e3d/gui/ViewPanel.java
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java