This is the homeworks from GAMES101: An Introduction to Modern Computer Graphics.
Homework 1 is about implementing rotation matrix and a perspective projection matrix.
The result below shows a rasteried triangle:
Homework 2 is about implementing z-buffer algorithmand shading a solid triangle .
The result below shows a rasteried solid triangle with depth test:
Homework 3 is about implementing shading pipelines. Including Normal Shader, Blinn-Phong Shading, Texture Mapping, Bump Mapping and Displacement Mapping.
The result below is generated by normal shader:
The result below is generated by blinn-phong shader:
The result below is generated by texture shader:
The result below is generated by bump shader:
The result below is generated by displacement shader:
Homework 4 is about implementing Bézier Curve using de Casteljau algorithm.
The result below shows the curve:
Homework 5 is about implementing a simple whitted-style ray tracer.
The result below shows the scene generated by ray tracer:
Homework 6 is about implementing the BVH algorithm to accelerate ray tracing process.
The result below shows the scene generated by ray tracer:
Homework 7 is about implementing the Path Tracing Algorithm.
The result below shows the CornellBox scence generated in 16 SPP:
The result below shows the CornellBox scence generated in 64 SPP:
The result below shows the CornellBox scence generated in 512 SPP:
Homework 8 is about implementing the Mass-Spring System and simulate using Implicit Eular method, Explicit Eular method and Verlet method.
The blue line shows the Implicit Eular simulation and green line show the Verlet method simulation: