17t*_*ion 6 opengl glsl unity-game-engine
我正在编写一个着色器,我想将 vec3 传递给输入。然而,我能找到的一切总是传递一个浮点数,一个 vec4,纹理或数字范围。是否可以将香草 vec3 统一发送到着色器?
Properties
{
offset ("formula Offset", Vector) = (0, 0, 0)
}
Run Code Online (Sandbox Code Playgroud)
似乎没有像我希望的那样工作。为了让它编译,我一直在这样做:
Properties
{
offset ("formula Offset", Vector) = (0, 0, 0, 0)
}
// offset.xyz //Extract relevant data from vector
Run Code Online (Sandbox Code Playgroud)
这只是感觉不对。有没有更好的办法?
看起来当您将属性标记为 Vector 时,它必须具有 4 个组件。甚至文档说:“矢量属性显示为四个数字字段。”
这确实没有看起来那么糟糕,只需将最后一个组件设置为零即可。
请注意,令人讨厌的是,匹配变量不是“向量”,而是“float4”。
完整名单: