问题描述
我有一个 GLSL 顶点着色器。正在尝试转换为 HLSL。 verts 是这样输入的:
.WhereAnyLike(pattern,e => e.Property1,e => e.Property2,e => e.Property3);
所以,一个非常简单的顶点。在 GLSL 中,我将漫反射组件变成四个浮点,如下所示:
struct Vertex
{
float x,y,z;
unsigned int diffuse;
float u,v;
};
老实说,我原以为这会在 HLSL 中以完全相同的方式工作。但是当我尝试这样做时(并且由于我的项目范围,我仅限于 vs_2_0)我被告知“&”是一个意外标记。
这在带有 vs_2_0 的 HLSL 中是不可能的,还是我必须调用某种辅助函数才能做到这一点?
(进一步注意:我注意到在 HLSL 中我可以简单地将输入声明为 float4 而不是 int 并且它以某种方式正常工作......这太奇怪了,我不相信它,在着色器之前被转换发生了?谁能解释一下?)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)