Views

The term "view" is used to mean "data in the required format". For example, a Constant Buffer View (CBV) would be constant buffer data correctly formatted. This section describes the most common and useful views.

In this section

Topic Description

Constant buffer view (CBV)

Constant buffers contain shader constant data. The value of them is that the data persists, and can be accessed by any GPU shader, until it is necessary to change the data.

Vertex buffer view (VBV) and Index buffer view (IBV)

A vertex buffer holds data for a list of vertices. The data for each vertex can include position, color, normal vector, texture co-ordinates, and so on. An index buffer holds integer indexes (offsets) into a vertex buffer, and is used to define and render an object made up of a subset of the full list of vertices.

Shader resource view (SRV) and Unordered Access view (UAV)

Shader resource views typically wrap textures in a format that the shaders can access them. An unordered access view provides similar functionality, but enables the reading and writing to the texture (or other resource) in any order.

Sampler

Sampling is the process of reading input values from a texture, or other resource. A "sampler" is any object that reads from resources.

Render target view (RTV)

Render targets enable a scene to be rendered to a temporary intermediate buffer, rather than to the back buffer to be rendered to the screen. This feature enables use of the complex scene that might be rendered, perhaps as a reflection texture or other purpose within the graphics pipeline, or perhaps to add additional pixel shader effects to the scene before rendering.

Depth stencil view (DSV)

A depth stencil view provides the format and buffer for holding depth and stencil information. The depth buffer is used to cull the drawing of pixels that would be invisible to the viewer as they are occluded from view by a closer object. The stencil buffer can be used to cull all drawing outside of a defined shape.

Stream output view (SOV)

Stream output views enable the vertex information that the vertex, tessellation and geometry shaders have come up with to be streamed back out to the application for further use. For example, an object that has been distorted by these shaders could be written back to the application to provide more accurate input to a physics or other engine. In practice though, stream output views are an infrequently used feature of the graphics pipeline.

Rasterizer ordered view (ROV)

Rasterizer ordered views enable some of the limitations of a depth buffer to be addressed, in particular having multiple textures containing transparency all applying to the same pixels.

 

Direct3D Graphics Learning Guide