【发布时间】:2011-07-06 11:12:06
【问题描述】:
制服和常量缓冲区有什么区别?
它们是完全分开的还是可以将制服看作是在一个恒定的缓冲区中?也就是说,如果要设置uniform,是需要常量buffer还是有别的办法?
我问是因为我有四个变量(float2 pan、float scale 和 float rotation)很可能不会同时发生变化。我是否需要一个常量缓冲区来一次设置它们,或者如果可能的话单独设置它们更好?
【问题讨论】:
标签: hlsl
制服和常量缓冲区有什么区别?
它们是完全分开的还是可以将制服看作是在一个恒定的缓冲区中?也就是说,如果要设置uniform,是需要常量buffer还是有别的办法?
我问是因为我有四个变量(float2 pan、float scale 和 float rotation)很可能不会同时发生变化。我是否需要一个常量缓冲区来一次设置它们,或者如果可能的话单独设置它们更好?
【问题讨论】:
标签: hlsl
当您有一个将从函数外部的外部源分配的变量时,使用统一。在你的情况下,制服声明会更好,因为你说你不会同时改变。 const 声明使变量不可更改。查看此页面以获取资源..http://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/uniform.php
【讨论】: