HLSL 统一变量与常量缓冲区

jnm*_*nm2 5 hlsl

统一缓冲区和常量缓冲区有什么区别?

它们是完全独立的还是可以将制服视为在恒定缓冲区中?换句话说,如果你想设置一个uniform,你需要一个常量缓冲区还是有其他方法?

我问这个问题是因为我有四个变量(float2平移、float缩放和float旋转),它们很可能不会同时改变。我是否需要一个恒定的缓冲区来一次设置它们,或者如果可能的话,单独设置它们是否更好?

小智 -1

当您有一个将从函数外部的外部源分配的变量时,将使用制服。就您而言,制服声明会更好,因为您说过您不会同时更换。const 声明使变量不可更改。查看此页面的资源..http://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/uniform.php