Graphics Reference
In-Depth Information
There's moreā€¦
There are a number of methods for simulating water, depending on whether it is shallow
or deep, a lake or a river, and a realistic simulation or an approximation. One such method
is the combination of the Fast Fourier Transform (FFT) and Perlin Noise.
In this recipe, we looked at the wave geometry. However, for a realistic water or
ocean simulation, you must consider the caustics, refraction, reflectivity, dispersion,
and interactivity as well.
Providing a static value for time, adding some texture, and playing with the amplitude could
also produce interesting sand dunes or other terrain such as mountains or rolling hills.
See also
F For more information on implementing normal mapping, refer to Chapter 6 ,
Adding Surface Detail with Normal and Displacement Mapping
F Vertex instancing and indirect draws are covered in the next recipe,
Rendering particles
Rendering particles
In this recipe, we will implement a simple particle system on the GPU. Compute shaders will
be used to generate and update the particles within append/consume buffers, and we will
use the vertex shader input semantics, SV_VertexID and SV_InstanceID , to generate
billboards from the particle points.
We will introduce blend states to deal with the alpha blending of particles. In order to render
the particles without regard to the order, we will also disable writing to the depth buffer.
Getting ready
Let us start with one of the previous rendering projects used in the recipe, Animating bones ,
of Chapter 4 , Animating Meshes with Vertex Skinning . In this recipe, we will make use of a
modified version of the CreateBufferUAV C# function that we created in the Calculating an
image's luminance histogram recipe of Chapter 7 , Performing Image Processing Techniques .
 
Search WWH ::




Custom Search