一. Shader 使用的资源
Shader Mode 4.0 开始支持更多种类的资源,比如 tbuffer 和 Buffer ,Shader Mode 5 又加入了 StructuredBuffer 等。我们今天就来说说他们直接的区别。下面的代码和说明是以 D3D11 为基础的。
二. 在 Shader 中的定义和使用 cbuffer / tbuffer / Buffer / Texture / StructuredBuffer
-
cbuffer
// 在 Shader 中的定义 Constant Buffer
cbuffer cbMatrices
{
float4x4 g_matWorld_CBuffer[1024];
};
// 在 Shader 中使用 Constant Buffer
float4x4 matData=g_matWorld_CBuffer[uiIndex];
-
tbuffer
// 在 Shader 中定义 T Buffer
tbuffer tbMatrices
{
float4x4 g_matWorld_TBuffer[102