
Parallax Occlusion mapping
Overview
As part of my Graphics Programming course, I undertook a project to learn about rendering using OpenGL. The goal was to implement a novel rendering technique and i choose Parallax Occlusion Mapping (POM), a technique that simulates depth on flat surfaces by adjusting how light interacts with the texture.
Parallax Occlusion Mapping Explained
Parallax Occlusion Mapping is an advanced technique similar to normal mapping. While normal mapping alters the surface normals to create the illusion of depth, POM goes a step further by allowing parts of the texture to occlude others based on the viewpoint. This means that some parts of the texture can block light or be hidden from view, enhancing the illusion of real depth on a flat surface. This even extends to lighting where shadows can be cast by parts of thesurface that would be occluded from the light sources view.
Insights
Throughout this project, I gained a deeper understanding of graphics rendering and the rendering pipeline. I also learned that even small errors can lead to significant and often strange visual artifacts. This experience highlighted the importance of precision and attention to detail in graphics programming.
Links
This video demo showcases three different textures to highlight the POM shader. It also demonstrates the necessity of fine-tuning the shader for different textures to achieve the best results.
The projects code can be found here