project for educational purposes "2D/3D" , "Drawing/Rendering" using HTML-CANVAS and JavaScript .
- Vectors
- Matrices
- orthographic projection
- perspective projection
- 2D/3D movement
- 2D/3D rotation
- camera => rotation/movement 3D
- class buffer
- class line
- class curve
- class triangle2D
- class triangle3D
- class rectangle2D
- class circle2D
- class point2D
- class point3D
- class point4D
- class NDC
- class mesh
- class RGBA
- class camera
- line drawing
- circle drawing
- triangle drawing
- rectangle drawing
- curved line drawing
- colors
- gradients
- RGB with alpha blending
- DDA line drawing
- gupta sproull line drawing
- bresenham line drawing
- mid-point circle drawing
- point clipping 2D
- line clipping 2D
- triangle clipping
- 3D "z near" clipping
- back-face culling
- none buffer
- Z-buffer
- A-buffer
- Sampling
- field of view "FOV"
- aspect ratio
- FPS control
- V-Sync
- MSAA
- SSAA
- FSAA
- Spatial Anti-Aliasing
- ambient light
- directed light
- undirected light
- reflection light
- refraction light
- global illumination
- glow
- some light effects
- mapping
- filtering
- MipMap
- shading
- shadow map
- ray tracing shadow
- path tracing
- ray casting
- Graph FPS
- Graph Preformance Data
- Uint-Testing
- compare custom codes to others