Initial commit master
authorSvjatoslav Agejenko <n0@svjatoslav.eu>
Wed, 8 Jul 2026 20:45:59 +0000 (23:45 +0300)
committerSvjatoslav Agejenko <n0@svjatoslav.eu>
Wed, 8 Jul 2026 20:46:08 +0000 (23:46 +0300)
commit37a217a621c26fd3b02d50748b3ec2d76ff399ed
treecdf5927778863157d685e936e08fad3a63767c60
Initial commit
173 files changed:
.gitignore [new file with mode: 0644]
AGENTS.md [new file with mode: 0644]
COPYING [new file with mode: 0644]
TODO.org [new file with mode: 0644]
Tools/Open with IntelliJ IDEA [new file with mode: 0755]
Tools/Update web site [new file with mode: 0755]
doc/Developer tools.png [new file with mode: 0644]
doc/Example.png [new file with mode: 0644]
doc/coordinate-system.svg [new file with mode: 0644]
doc/csg/CSG demo.png [new file with mode: 0644]
doc/csg/bsp-tree.svg [new file with mode: 0644]
doc/csg/csg-intersect.svg [new file with mode: 0644]
doc/csg/csg-operations.svg [new file with mode: 0644]
doc/csg/csg-union.svg [new file with mode: 0644]
doc/csg/index.org [new file with mode: 0644]
doc/csg/polygon-clipping.svg [new file with mode: 0644]
doc/edge.svg [new file with mode: 0644]
doc/face-triangle.svg [new file with mode: 0644]
doc/frustum-culling/frustum-diagram.svg [new file with mode: 0644]
doc/frustum-culling/index.org [new file with mode: 0644]
doc/frustum-culling/p-vertex-aabb.svg [new file with mode: 0644]
doc/index.org [new file with mode: 0644]
doc/mesh.svg [new file with mode: 0644]
doc/normal-vector.svg [new file with mode: 0644]
doc/perspective-correct-textures/Affine distortion.png [new file with mode: 0644]
doc/perspective-correct-textures/Slices.png [new file with mode: 0644]
doc/perspective-correct-textures/index.org [new file with mode: 0644]
doc/perspective-correct-textures/triangle-tessellation.svg [new file with mode: 0644]
doc/point3d-vertex.svg [new file with mode: 0644]
doc/rendering-loop/double-buffering.svg [new file with mode: 0644]
doc/rendering-loop/index.org [new file with mode: 0644]
doc/rendering-loop/paint-segments.svg [new file with mode: 0644]
doc/rendering-loop/painters-algorithm.svg [new file with mode: 0644]
doc/rendering-loop/render-pipeline.svg [new file with mode: 0644]
doc/shading/Shaded sphere.png [new file with mode: 0644]
doc/shading/ambient-light-comparison.svg [new file with mode: 0644]
doc/shading/distance-attenuation.svg [new file with mode: 0644]
doc/shading/index.org [new file with mode: 0644]
doc/shading/lambert-cosine-law.svg [new file with mode: 0644]
doc/shading/shading-pipeline.svg [new file with mode: 0644]
doc/style.css [new file with mode: 0644]
doc/winding-order.svg [new file with mode: 0644]
pom.xml [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Box.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/BspTree.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Circle.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Frustum.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Plane.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Point2D.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Point3D.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Polygon.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/PolygonType.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/Rectangle.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/geometry/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/Camera.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/CullingStatistics.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/DebugLogBuffer.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/DeveloperTools.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/DeveloperToolsPanel.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/FrameListener.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/GuiComponent.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/RenderingContext.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/SegmentRenderingContext.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/StereoEye.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/TextPointer.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/gui/ViewFrame.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/gui/ViewPanel.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/gui/ViewSpaceTracker.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/ViewUpdateTimerTask.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/Connexion3D.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/InputManager.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardFocusStack.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardHelper.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/KeyboardInputHandler.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/MouseEvent.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/MouseInteractionController.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/WorldNavigationUserInputTracker.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/humaninput/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/Character.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/LookAndFeel.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/Page.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/TextEditComponent.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/TextLine.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/math/DiamondSquare.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/math/Matrix3x3.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/math/Quaternion.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/math/Transform.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/math/TransformStack.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/math/Vertex.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/math/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/IntegerPoint.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/OctreeVolume.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/package-info.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/CameraView.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/LightSource.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/Ray.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/RayHit.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/RayTracer.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/RaytracingCamera.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/octree/raytracer/package-info.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/package-info.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/Color.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/RenderAggregator.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/ShapeCollection.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/lighting/LightSource.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/lighting/LightingManager.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/lighting/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/package-info.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/AbstractCoordinateShape.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/AbstractShape.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/Billboard.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/GlowingPoint.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/Line.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/LineAppearance.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/LineInterpolator.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/line/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/LineInterpolator.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/SolidPolygon.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/solidpolygon/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/PolygonBorderInterpolator.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TessellatedTexturedTriangle.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/TexturedTriangle.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/basic/texturedpolygon/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/ForwardOrientedTextBlock.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/Graph.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/LightSourceMarker.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/TexturedRectangle.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/base/AbstractCompositeShape.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/base/SubShape.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/base/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonArrow.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonCone.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonCube.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonCylinder.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonMesh.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonPyramid.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonRectangularBox.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/SolidPolygonSphere.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/solid/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/textcanvas/CanvasCharacter.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/textcanvas/RenderMode.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/textcanvas/TextCanvas.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/textcanvas/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/Grid2D.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/Grid3D.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframeArrow.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframeBox.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframeCone.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframeCube.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframeCylinder.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframeDrawing.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframePyramid.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/WireframeSphere.java [new file with mode: 0755]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/composite/wireframe/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/shapes/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/tessellation/AdaptiveTessellationController.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/tessellation/ScreenSpaceTessellator.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/tessellation/TessellationEdge.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/tessellation/TexturedPolygonTessellator.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/tessellation/package-info.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/texture/Texture.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/texture/TextureBitmap.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/texture/TextureGenerator.java [new file with mode: 0644]
src/main/java/eu/svjatoslav/sixth/e3d/renderer/raster/texture/package-info.java [new file with mode: 0644]
src/main/resources/eu/svjatoslav/sixth/e3d/examples/hourglass.png [new file with mode: 0644]
src/test/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/TextLineTest.java [new file with mode: 0644]
src/test/java/eu/svjatoslav/sixth/e3d/gui/textEditorComponent/package-info.java [new file with mode: 0644]
src/test/java/eu/svjatoslav/sixth/e3d/math/QuaternionTest.java [new file with mode: 0644]