SPARKS
(experimental) WebGL 2D/3D Rendering for Games.
TO-DO
- Face culling
- Preserving original z-axis orientation (lesser is far)
- Change alpha to opacity
- Alpha blending
- Review transforms
- Cached uniform locations
- Source organization
- Re-think texture/atlas workflow
- CameraOrtho and CameraPerspective
- Tint
- Z-Sorting with perspective
- Use the CPU to project viewModels
- Mouse interaction
- Camera settings ortho/perspective
- Remove interaction from clipped objects
- Save only one buffer for each model
- Sort objects by type
- Object enable/disable
- Clear redundant calls
- Shader improvements
- Look-at
- Text rendering
- Render loop optimizations
- Better text handling
- Spheres
- Deal with texture mapping for cubes, spheres, etc
- Rework the material/texture setup
- Solve sphere face culling
- Rework mesh and buffers system
- Sphere frame texture
- Testing z for interaction
- Delegate triangle hit test to meshes
- Wireframes
- Texture repeat
- Texture transparency
- Texture frame rotation
- Fill gaps between textures
- Look-at for objects
- Draw call reduction
- Screen/world point conversion
- Point hit test to all meshes
- Color conversion, RGB, RGBA
- Handle lost context
- Label enhancements
- Vertex methods (access, modify)
BUGS
- Textures that spends 1 frame to appear
- Billboard ignoring parent/child transforms
- Some labels presenting clipped text
- Very poor performance on Safari
NICE TO HAVE
- Raycast (or tools for make one, at least)
- Light
- Material/shaders
- Particles
TO THINK ABOUT
- Remove mouse events from the engine. REMOVED!
- Sacrifice camera as an Object3D to reduce the render loop.
- Delete Loader and Resources, or write a better version of them.