【发布时间】:2018-03-28 04:29:32
【问题描述】:
我正在尝试重写我在 OpenGL 中的着色器:
vec3 somevariable = mat3*vec3;
mat3 和 vec3 将是该类型的两个变量,但是当我尝试这样做时:
float3x3 * float3
我在 HLSL 中遇到错误,这很好,但是当我尝试将数学转换为:
(其中ca = mat3 而不是vec3)(float3x3 float3)
float3 somevariable = float3(ca[0].x*no.x+ca[0].y*no.y+ca[0].z*no.z,ca[1].x*no.x+ca[1].y*no.y+ca[1].z*no.z,ca[2].x*no.x+ca[2].y*no.y+ca[2].z*no.z);
这给出了与mat3*vec3 在 OpenGL 中不同的输出,有人知道为什么吗?谢谢:3
【问题讨论】: