|
|
> There is some stuff that - fortunately - does not need to be pumped around
> for
> each frame. Traditionally, textures are such stuff. I bet static meshes
> are
> another one these days: Applying the same transformation matrix to a
> wagonload
> of vertices is no big deal for a GPU, and sufficient to have the object
> hover
> around and maybe rotate.
Being able to store static meshes on the video card started with DirectX 7
and the GeForce 256, about a decade ago.
In most modern games even non-static meshes are held permanently on the GPU.
The CPU simply tells the GPU some angles (or other parameters) each frame,
and a vertex shader running on the GPU suitably deforms the mesh prior to
rendering. This greatly reduces the data bandwidth between the CPU and GPU
and allows huge numbers of animated meshes to be drawn in realtime that
otherwise wouldn't be possible.
It also allows for clever things like real waves in water (not just normal
effects), whereby the GPU can distort the water mesh itself every frame and
not need to transfer the whole mesh from the CPU per frame.
Ditto for terrain, even if the terrain itself does not need to distort, you
can smoothly fade between different LOD levels using just the GPU to avoid
having to send interpolated meshes per frame.
Post a reply to this message
|
|