在HLSL

时间:2016-10-09 03:35:50

标签: directx hlsl

当我在cBuffer中定义hlsl时,会有一些示例显示

cbuffer cbPerObject
{
  matrix worldMatrix;
  matrix viewMatrix;
  matrix projectionMatrix;
};

另一个节目

cbuffer cbPerObject
{
  float4x4 worldMatrix;
  float4x4 viewMatrix;
  float4x4 projectionMatrix;
};

这是否意味着矩阵类型可以包含无限元素,但float4x4只能容纳前16个元素?

你喜欢HLSL中哪一个?

1 个答案:

答案 0 :(得分:2)

为了支持较旧的DirectX 8时代HLSL程序,matrix本身就是matrix<float,4,4>的typedef。顺便说一下,float4x4也是matrix<float,4,4>的typedef。

请参阅HLSL, User-Defined Type