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.

Next
Next

Rasterization