summaryrefslogtreecommitdiff
path: root/3D.md
diff options
context:
space:
mode:
Diffstat (limited to '3D.md')
-rw-r--r--3D.md50
1 files changed, 0 insertions, 50 deletions
diff --git a/3D.md b/3D.md
deleted file mode 100644
index e944cbe..0000000
--- a/3D.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# 3D system and rendering pipeline
-
-This sub-project describe how the 3D worlds are going to be rendered.
-We want a camera to move around moving and dynamic objects.
-These objects can be need a physics and collision system.
-
-## the idea
-
-Each object has:
- * a bounding box or capsule
- * a BVH is maintained while these move around physically (or not)
- * to render a frame we cull these bounding volumes
- * at rendering time, the bounding box or sphere is turned into a quad or triangle
- fan and a shader associated with the object is called (after proper world-object-camera transformations)
- * each object can be queries for:
- a) ray-object intersection ("return the distance from the object at this point P in this direction D")
- b) Signed Distance Field ("what is the minimum distance to the object from this point P?")
-
-So in the end, we'll
- a) move the camera and lights along paths
- b) transform the bounding volumes and cull for visible boxes
- c) project them
- d) call the objects' respective shaders for rendering
-
-We want to use shadow maps, so multi-passes is expected.
-
-## debugging features
-
-The assist the visual debugging, we need a 'visual_debug' mode (code to be
-removed with STRIP_ALL) that:
-
- a) draws a wireframe around the bounding volumes (box, etc.)
- b) draw the trajectories (camera, objects, ...)
- c) show the collision points
- d) displays the ray/object intersection interactively
- e) show the lights (direction, cone, ...), display their shadow-map in 3d and on-screen (2d).
-
-This must be captured and tracked as a sub-task
-
-
-## future step
-
-Have an exporter from Blender modelling software. That would be a converter
-from simple blender-exported files to our internal format (as an asset for
-our AssetManager or as c++ code directly)
-
-## latter improvement
-
-How to handle transparency? Multi-Ray-casting?
-We need to think about the lighting strategy.