In its most basic form, Tessellation is a method of breaking polygons into finer pieces.
For example, if you take a square and cut it across its diagonal, you’ve 'tessellated' this square
into two triangles. By itself, Tessellation does little to improve realism,
the simplest and most popular way of putting the new triangles into use is a technique called
'displacement mapping'. A displacement map is a texture that stores height information, when
applied to a surface, it allows vertices on the surface to be shifted up or down based on the height
Like tessellation, displacement mapping has been around for a long time,
With DirectX 11 tessellation and displacement mapping combine together
to produce smooth-looking models.
Multithreaded Rendering is a feature which allows DirectX to be processed via multiple CPU threads.
This means that a dual, triple or quad-core CPU can have a higher utilization across all cores
than DirectX APIs in the past.
DirectCompute is a feature which allows access to the shader cores/pipeline for Stream Computing
(graphics acceleration) applications and physics acceleration.
GeForce GTX 400/500 GPUs are built with sixteen tessellation units (Shader Multiprocessors, PolyMorph engine),
each with dedicated hardware
for vertex fetch, tessellation, and coordinate transformations. They operate with four parallel
raster engines which transform newly tessellated triangles into a fine stream of pixels for shading.
GeForce GTX 680 are built with the next generation SM design, called SMX (containing 8 SMXs).
The SM’s CUDA cores
perform pixel/vertex/geometry shading and physics/compute calculations.
Texture units perform texture filtering and load/store units fetch and save data to memory.
Special Function Units (SFUs) handle transcendental and graphics interpolation instructions.
PolyMorph Engine handles vertex fetch, tessellation, viewport transform, attribute setup, and stream output.
A shader was limited to access of just 128 simultaneous textures in Fermi (which aligned with the API limits of DX11).
With bindless textures in Kepler, this additional step isn’t necessary, the shader can reference textures
directly in memory, making binding tables obsolete. This effectively eliminates any limits on the
number of unique textures that can be used to render a scene with over 1 million unique textures are possible.
Besides dramatically increasing the number of available textures, another added benefit of bindless textures
is reduced CPU utilization.
Aliens v Predator 3 PC Game Wireframe Showing TessellationEdit