flopoloco's picture

Displacement Mapping


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
mOfl's picture

The displacement mapping method demonstrated in that video is using tessellation shaders (hull and domain shader, they are called tessellation control shader and tessellation evaluation shader in OpenGL) - you won't be able to do that in OpenGL 3 due to hardware constraints - tessellation shaders were introduced with OpenGL 4.0 and require a Fermi architecture video card (GeForce 400 or 500 series, don't know the adequate AMD cards). You can, however, do vertex displacement mapping as it was done in the years before tessellation shaders - either offline via CPU-based tessellation or utilizing either geometry shaders or the vertex shader. As displacement mapping only works if there are sufficient displaceable vertices to cover all detail of the displacement map, the geometry has to be very, very complex (that's just what the tessellation shaders create on-the-fly) - I don't think you will get anything near to the result in the video with OpenGL 3 only. If you're aiming for a detail enhancement for real-time graphics, you should look at parallax occlusion mapping or relief mapping. These are the commonly used techniques to immitate displacement mapping without really changing the geometry.