当我在cBuffer
中定义hlsl
时,会有一些示例显示
cbuffer cbPerObject
{
matrix worldMatrix;
matrix viewMatrix;
matrix projectionMatrix;
};
另一个节目
cbuffer cbPerObject
{
float4x4 worldMatrix;
float4x4 viewMatrix;
float4x4 projectionMatrix;
};
这是否意味着矩阵类型可以包含无限元素,但float4x4只能容纳前16个元素?
你喜欢HLSL中哪一个?
答案 0 :(得分:2)
为了支持较旧的DirectX 8时代HLSL程序,matrix
本身就是matrix<float,4,4>
的typedef。顺便说一下,float4x4
也是matrix<float,4,4>
的typedef。