Use half-edge data structure to implement mesh subdivision algorithms: Loop, Catmull-Clark, Butterfly etc.
Implement classic shading models (Blinn-Phong) .
Evaluate the position of points on curves / surfaces: De Casteljau’s and De Boor’s algorithm. Tessellate and manipulate Bezier and B-spline curves / surfaces.
Implement a simple mass-spring physics-based model. The procedural is accelerated by CPU multi-thread (OpenMP) or GPU (OpenGL Compute Shader).
Follow Ray Tracing in One Weekend to implement the ray tracing of spheres. Several materials are included: Lambertian, Metal and dielectrics.
02 June 2019