- Bezier curves
- Discritization
- From a given number of line segments
- From a given length of line segment
- Visualization
- Discritization
- Bezier surfaces
- Discritization
- Position
- Normals
- (u, v) coordinates
- Visualization
- Lambertian reflectance
- Surface normals visualization with lines
- Surface normals visualization with colors
- Parameter space
- Discritization
- Real-time rendering
- BRDF Implementation
- Texture support
- Three-point lighting
- BONUS
- Interactive Bezier curve manipulation
- Skybox
$ sudo apt install libglfw3-dev libglew-dev libglm-dev libassimp-dev
$ cmake -S . -B build/
$ cmake --build build/
$ build/curve
$ build/curve_poly
$ build/surface
$ build/surface_poly
$ build/surface_normals
Z
to move forwardS
to move backwardQ
to move leftD
to move rightSpace
to move upLeft Control
to move downArrow key up
to look upArrow key down
to look downArrow key left
to look leftArrow key right
to look rightScroll up
to zoom inScroll down
to zoom outEscape
to quit