unity3d 在HLSL中如何用派生值初始化常量?

jm81lzqq  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(107)

我尝试将this glsl code移植到hlsl(unity shader)中,但是编译器抱怨以下代码行:

#define Length float
const Length m = 1.0;
const Length km = 1000.0 * m;

其中kmm导出,错误消息表示:

  • “km”:初始值必须是文本表达式 *

有什么方法可以解决这个问题,而不只是用它的文字值手动替换m
我试着谷歌这个,但没有找到任何相关的,或者也许这个问题只是一个抱怨HLSL的弱编译器。

fd3cxomn

fd3cxomn1#

根据glsl-to-hlsl-reference,我们应该在hlsl中使用static const限定符。

相关问题