OpenCL Procedural Geometric Displacement Example

Last Revision:
Version 1.4, 2009-09-24
Updated to adapt to API changes.
(Full Revision History)
Build Requirements:
Mac OS X v10.6, Xcode 3.2
Runtime Requirements:
Mac OS X v10.6

This example shows how OpenCL can bind to existing OpenGL buffers to avoid copying data back off a compute device when using the results for rendering. This is demonstrated by displacing the vertices of an OpenGL managed vertex buffer object (VBO) using a compute kernel which calculates several octaves of procedural noise to push the resulting vertex positions outwards and calculate new normal directions using finite differences.