Ray Tracing
For my Computer Graphics class, I designed a ray tracing C++ program free of any APIs. Ray tracing is an essential rendering technique implemented in TV and video games. The projects taught me about object transformations, light and shadow, and advanced methods through WGSL. This section showcases my results
Parallel Projection
The right picture shows the objects with their true sizes regardless of the distance between the camera and the objects.
Perspective Projection
The left picture shows the objects considering their positions relative to the camera. There is a vanishing point in this scene.
Advanced Techniques
Using WebGPU Shading Language https://shadereditor.kaust.edu.sa, I was able to apply Anti aliasing, soft shadows, depth of field, and cube mapping. It was both challenging and fun!
Transformations
Viewing and Modeling transformations can be seen through this demo. They include object movement, rotation and scaling. In addition, the demo illustrates the camera panning, zooming, and rotating along different axes.