FurMark
Current Version: 1.15.0
»FurMark homepage
»FurMark 1.9.x Submissions

GPU Caps Viewer
Current Version: 1.22.0
»GPU Caps Viewer homepage
»GPU DB Submissions

PhysX FluidMark
Current Version: 1.5.2
»FluidMark homepage
»FluidMark 1.4.x Submissions

GeeXLab
Current Version: 0.4.0
»GeeXLab homepage
»GeeXLab Overview

GPU Shark
Current Version: 0.9.2
»GPU Shark homepage

TessMark
Current Version: 0.3.0
»TessMark homepage

ShaderToyMark
Current Version: 0.3.0
»ShaderToyMark homepage
»ShaderToyMark Scores

Blogs
»JeGX's HackLab

Geeks3D's Articles
»GPU Memory Speed Demystified

»Multi-Threading Programming Resources

»GeForce and Radeon OpenCL Overview

»How to Get your Multi-core CPU Busy at 100%

»How To Make a VGA Dummy Plug

»Night Vision Post Processing Filter


Demoniak3D
Current Version: 1.23.0
»Demoniak3D
»Download
»Libraries and Plugins
»Demos
»Online Help - Reference Guide
»Codes Samples

Language

Language:

3D Graphics Search Engine:

The Geeks Of 3D

 
Vertex Displacement Mapping using GLSL

By Jerome Guinot aka 'JeGX' - jegx [at] ozone3d (dot) net

Initial draft: March 26, 2006
Update: November 5, 2006
Update: November 22, 2006


[ Index ]

Introduction | Page 2 | Page 3 | Page 4 | Conclusion

»Next Page



4 - The Problem of Normals

One of the biggest drawbacks of vertex displacement mapping is that faces normals and then those of vertices are damaged since they are valid for the un-deformed mesh. As we are inside a vertex shader, we can not access to the two other vertices that form the current processed face and then we can not recalculate the normal...

But there are two manners to come out of this tricky problem. The first one is simply to not use... the normals! With static lighting (like the lightmapping), the normal is useless since the lighting comes from the light-map.

The second manner is to provide the normal to the pixel shader. A simple method is to create a normal-map from the displacement map. The normal-map holds normal vectors that are orientated to simulate the displacement map relief. This technique works quite well if we forget some little imperfections like some areas that should not be lit...

The following picture shows the result of a BumpDisplacementMapping shader. Both displacement and normal maps have been created from the base map (texture of stone). This project is available in the downloadable archive.



Fig. 5 - DEMO_bump_displacement_mapping.xml





[ Index ]

Introduction | Page 2 | Page 3 | Page 4 | Conclusion

»Next Page








GLSL Hacker
»GLSL Hacker Homepage


PhysX 3 cloth demo


Normal visualizer with GS


Compute Shaders test on Radeon


Raymarching in GLSL



Geeks3D latest news


Geeks3D forum news


Misc
»Texture DataPack #1
»Asus Silent Knight CPU Cooler
Page generated in 0.060916900634766 seconds.