### OpenCL Procedural Geometric Displacement Example ###

===========================================================================
DESCRIPTION:

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.

Note that the .cl compute kernel file(s) are loaded and compiled at
runtime.  The example source assumes that these files are in the same 
path as the built executable.

For simplicity, this example is intended to be run from the command line.
If run from within XCode, open the Run Log (Command-Shift-R) to see the 
output.  Alternatively, run the applications from within a Terminal.app 
session to launch from the command line.

===========================================================================
BUILD REQUIREMENTS:

Mac OS X v10.6 or later

===========================================================================
RUNTIME REQUIREMENTS:

Mac OS X v10.6 or later with OpenCL 1.0

===========================================================================
PACKAGING LIST:

ReadMe.txt
displacement.c
displacement.xcodeproj
displacement_kernel.cl
fresnel.frag
fresnel.vert
phong.frag
phong.vert
skybox.frag
skybox.vert
stpeters_probe.pfm

===========================================================================
CHANGES FROM PREVIOUS VERSIONS:

Version 1.0
- First version.

===========================================================================
Copyright (C) 2008 Apple Inc. All rights reserved.