1
0
Fork 0
mirror of https://git.coom.tech/drummyfish/small3dlib.git synced 2024-11-23 20:59:58 +01:00
small3dlib/todo.txt
Miloslav Číž 2f6e21e3d8 Add todos
2019-05-26 20:00:28 +02:00

53 lines
1.8 KiB
Text

features:
- scene and model rendering strategies, that can be optionally selected and
will configure other constants (e.g. a "low memory sort strategy" will turn
z-buffer off and turn back-to-front sorting on).
- triangle sorting:
- back-to-front (slower, better memory efficiency)
- front-to-back (faster, but needs 1bit stencil buffer)
- Z-buffer:
- full DONE
- reduced (resolution and precision) DONE
- more reduced (4-bit)
- perspective correction modes:
- none DONE
- full DONE
- triangle subdivision (each triangle side will be subdivided after reaching
a defined length, which will be measured by Chebyshev or similarly fast
distance).
- also offer some approximation function?
- predefined 3D shapes:
- cube DONE
- sphere
- cylinder
- pyramid
- plane
- Depth computation during rasterization -- this should be an optional thing,
specified with a define (S3L_COMPUTE_DEPTH), which may be turned on
automatically for some modes (e.g. Z-buffer). It should be computed by the
fast lerp and passed in the PixelInfo struct.
- Python tool to convert obj to C array
- helper functions for lighting/shading
- Line and point drawing modes for triangles should maybe not overlap on
adjacent triangles (as filled triangles already do)?
- create demos
- drawModel: create an option that would use a cache to not transform the same
point twice
- Optional rendering stats (FPS, rendered triangles, ...).
- Change the rotations to use yaw-pitch-roll instead of extrinsic Euler angles?
bugs:
- Why is persp. correction inaccurate near the camera?
repeated:
- valgrind (and similar) checks
- optimize
- write tests/benchmarks