Website powered by

UE4 Shader Development - Parallax Occlusion Mapping|Bump Offset|2D Texture

These are 3 various shaders I have created in Unreal Engine,
1- Parallax Occlusion Mapping Shader
2- Bump Offset Shader
3- Simple 2D Texture Shader

The purpose of these two techniques is to bring the environment closer to realism rather than the plain 2D texture maps with normal maps. They are for improving surface shapes beyond normal mapping and traditional ways to bring more realism into the environment, and both techniques use a heightmap to define the shape of the surface more clearly.
The shaders are complicated as they have advanced parameters in other areas such as roughness, AO, and other nods.

- Bump Offset mapping adjusts the UV coordinates of the surface based on the view angle and depending on the heightmap. It's fairly a cheaper technique compared to Parallax Occlusion Mapping, but it lacks details in glancing angles.

- On the other hand, Parallax Occlusion Mapping traces rays to recreate the surface shape. It creates better results at glancing angles - but it could also be significantly more expensive. It also has self-shadowing for self-occlusion in real-time to bring an environment much closer to realism.

To even go beyond for the optimization purpose, texture maps could be packed as RMA, ARM or custom packaging based on resource management techniques.

Texture Maps have been used from Quixel Megascans.

Shaders of Parallax Occlusion Mapping, Bump Offset, 2D Texture

Shaders of Parallax Occlusion Mapping, Bump Offset, 2D Texture

Material - Parallax Occlusion Mapping in the Editor

Material - Parallax Occlusion Mapping - Damaged Bricks

Material - Parallax Occlusion Mapping - Damaged Bricks

Material - Bump Offset - Damaged Bricks

Material - Bump Offset - Damaged Bricks

Material - 2D Texture - Damaged Bricks

Material - 2D Texture - Damaged Bricks

Material - Parallax Occlusion Mapping - Dirty Bricks

Material - Parallax Occlusion Mapping - Dirty Bricks

Material - Bump Offset - Dirty Bricks

Material - Bump Offset - Dirty Bricks

Material - 2D Texture - Dirty Bricks

Material - 2D Texture - Dirty Bricks

Material - Parallax Occlusion Mapping

Material - Parallax Occlusion Mapping

Material - Bump Offset

Material - Bump Offset

Material Instances

Material Instances

Shader Complexity

Shader Complexity

Lighting Only - Parallax Occlusion Mapping has only the Self-Shadowing for Self-Occlusion in Real-Time based on Directional Light or any Indirect Light.

Lighting Only - Parallax Occlusion Mapping has only the Self-Shadowing for Self-Occlusion in Real-Time based on Directional Light or any Indirect Light.

Detail Lighting Including all the Input Data

Detail Lighting Including all the Input Data