Inverting matrices operations order.
This commit is contained in:
@@ -18,9 +18,9 @@ void main(
|
|||||||
float out v_fog : FOG,
|
float out v_fog : FOG,
|
||||||
float4 out gl_Position : POSITION
|
float4 out gl_Position : POSITION
|
||||||
) {
|
) {
|
||||||
float4 Vertex = mul(u_world, float4(in_pos, 1.0));
|
float4 Vertex = mul(float4(in_pos, 1.0), u_world);
|
||||||
gl_Position = mul(u_proj * u_view, Vertex);
|
gl_Position = mul(Vertex, u_view * u_proj);
|
||||||
float3 Normal = mul(float3x3(u_world), in_normal);
|
float3 Normal = mul(in_normal, float3x3(u_world));
|
||||||
|
|
||||||
v_tex0 = in_tex0;
|
v_tex0 = in_tex0;
|
||||||
|
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ const char *default_vert_src =
|
|||||||
" float out v_fog : FOG,\n"
|
" float out v_fog : FOG,\n"
|
||||||
" float4 out gl_Position : POSITION\n"
|
" float4 out gl_Position : POSITION\n"
|
||||||
") {\n"
|
") {\n"
|
||||||
" float4 Vertex = mul(u_world, float4(in_pos, 1.0));\n"
|
" float4 Vertex = mul(float4(in_pos, 1.0), u_world);\n"
|
||||||
" gl_Position = mul(u_proj * u_view, Vertex);\n"
|
" gl_Position = mul(Vertex, u_view * u_proj);\n"
|
||||||
" float3 Normal = mul(float3x3(u_world), in_normal);\n"
|
" float3 Normal = mul(in_normal, float3x3(u_world));\n"
|
||||||
|
|
||||||
" v_tex0 = in_tex0;\n"
|
" v_tex0 = in_tex0;\n"
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ void main(
|
|||||||
float out v_fog : FOG,
|
float out v_fog : FOG,
|
||||||
float4 out gl_Position : POSITION
|
float4 out gl_Position : POSITION
|
||||||
) {
|
) {
|
||||||
float4 Vertex = mul(u_world, float4(in_pos, 1.0));
|
float4 Vertex = mul(float4(in_pos, 1.0), u_world);
|
||||||
float4 CamVertex = mul(u_view, Vertex);
|
float4 CamVertex = mul(Vertex, u_view);
|
||||||
gl_Position = mul(u_proj, CamVertex);
|
gl_Position = mul(CamVertex, u_proj);
|
||||||
v_color = in_color;
|
v_color = in_color;
|
||||||
v_tex0 = in_tex0;
|
v_tex0 = in_tex0;
|
||||||
v_fog = DoFog(gl_Position.w, u_fogData);
|
v_fog = DoFog(gl_Position.w, u_fogData);
|
||||||
|
|||||||
@@ -12,9 +12,9 @@ const char *im3d_vert_src =
|
|||||||
" float out v_fog : FOG,\n"
|
" float out v_fog : FOG,\n"
|
||||||
" float4 out gl_Position : POSITION\n"
|
" float4 out gl_Position : POSITION\n"
|
||||||
") {\n"
|
") {\n"
|
||||||
" float4 Vertex = mul(u_world, float4(in_pos, 1.0));\n"
|
" float4 Vertex = mul(float4(in_pos, 1.0), u_world);\n"
|
||||||
" float4 CamVertex = mul(u_view, Vertex);\n"
|
" float4 CamVertex = mul(Vertex, u_view);\n"
|
||||||
" gl_Position = mul(u_proj, CamVertex);\n"
|
" gl_Position = mul(CamVertex, u_proj);\n"
|
||||||
" v_color = in_color;\n"
|
" v_color = in_color;\n"
|
||||||
" v_tex0 = in_tex0;\n"
|
" v_tex0 = in_tex0;\n"
|
||||||
" v_fog = DoFog(gl_Position.w, u_fogData);\n"
|
" v_fog = DoFog(gl_Position.w, u_fogData);\n"
|
||||||
|
|||||||
@@ -20,12 +20,12 @@ void main(
|
|||||||
float out v_fog : FOG,
|
float out v_fog : FOG,
|
||||||
float4 out gl_Position : POSITION
|
float4 out gl_Position : POSITION
|
||||||
) {
|
) {
|
||||||
float4 Vertex = mul(u_world, float4(in_pos, 1.0));
|
float4 Vertex = mul(float4(in_pos, 1.0), u_world);
|
||||||
gl_Position = mul(u_proj * u_view, Vertex);
|
gl_Position = mul(Vertex, u_view * u_proj);
|
||||||
float3 Normal = mul(float3x3(u_world), in_normal);
|
float3 Normal = mul(in_normal, float3x3(u_world));
|
||||||
|
|
||||||
v_tex0 = in_tex0;
|
v_tex0 = in_tex0;
|
||||||
v_tex1 = (mul(u_texMatrix, float4(Normal, 1.0))).xy;
|
v_tex1 = (mul(float4(Normal, 1.0), u_texMatrix)).xy;
|
||||||
|
|
||||||
v_color = in_color;
|
v_color = in_color;
|
||||||
v_color.rgb += u_ambLight.rgb*surfAmbient;
|
v_color.rgb += u_ambLight.rgb*surfAmbient;
|
||||||
|
|||||||
@@ -21,12 +21,12 @@ const char *matfx_env_vert_src =
|
|||||||
" float out v_fog : FOG,\n"
|
" float out v_fog : FOG,\n"
|
||||||
" float4 out gl_Position : POSITION\n"
|
" float4 out gl_Position : POSITION\n"
|
||||||
") {\n"
|
") {\n"
|
||||||
" float4 Vertex = mul(u_world, float4(in_pos, 1.0));\n"
|
" float4 Vertex = mul(float4(in_pos, 1.0), u_world);\n"
|
||||||
" gl_Position = mul(u_proj * u_view, Vertex);\n"
|
" gl_Position = mul(Vertex, u_view * u_proj);\n"
|
||||||
" float3 Normal = mul(float3x3(u_world), in_normal);\n"
|
" float3 Normal = mul(in_normal, float3x3(u_world));\n"
|
||||||
|
|
||||||
" v_tex0 = in_tex0;\n"
|
" v_tex0 = in_tex0;\n"
|
||||||
" v_tex1 = (mul(u_texMatrix, float4(Normal, 1.0))).xy;\n"
|
" v_tex1 = (mul(float4(Normal, 1.0), u_texMatrix)).xy;\n"
|
||||||
|
|
||||||
" v_color = in_color;\n"
|
" v_color = in_color;\n"
|
||||||
" v_color.rgb += u_ambLight.rgb*surfAmbient;\n"
|
" v_color.rgb += u_ambLight.rgb*surfAmbient;\n"
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ void main(
|
|||||||
float3 SkinVertex = float3(0.0, 0.0, 0.0);
|
float3 SkinVertex = float3(0.0, 0.0, 0.0);
|
||||||
float3 SkinNormal = float3(0.0, 0.0, 0.0);
|
float3 SkinNormal = float3(0.0, 0.0, 0.0);
|
||||||
for(int i = 0; i < 4; i++){
|
for(int i = 0; i < 4; i++){
|
||||||
SkinVertex += (mul(u_boneMatrices[int(in_indices[i])], float4(in_pos, 1.0))).xyz * in_weights[i];
|
SkinVertex += (mul(float4(in_pos, 1.0), u_boneMatrices[int(in_indices[i])])).xyz * in_weights[i];
|
||||||
SkinNormal += (mul(float3x3(u_boneMatrices[int(in_indices[i])]), in_normal)) * in_weights[i];
|
SkinNormal += mul(in_normal, float3x3(u_boneMatrices[int(in_indices[i])])) * in_weights[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
float4 Vertex = mul(u_world, float4(SkinVertex, 1.0));
|
float4 Vertex = mul(float4(SkinVertex, 1.0), u_world);
|
||||||
gl_Position = mul(u_proj * u_view, Vertex);
|
gl_Position = mul(Vertex, u_view * u_proj);
|
||||||
float3 Normal = mul(float3x3(u_world), SkinNormal);
|
float3 Normal = mul(SkinNormal, float3x3(u_world));
|
||||||
|
|
||||||
v_tex0 = in_tex0;
|
v_tex0 = in_tex0;
|
||||||
|
|
||||||
|
|||||||
@@ -26,13 +26,13 @@ const char *skin_vert_src =
|
|||||||
" float3 SkinVertex = float3(0.0, 0.0, 0.0);\n"
|
" float3 SkinVertex = float3(0.0, 0.0, 0.0);\n"
|
||||||
" float3 SkinNormal = float3(0.0, 0.0, 0.0);\n"
|
" float3 SkinNormal = float3(0.0, 0.0, 0.0);\n"
|
||||||
" for(int i = 0; i < 4; i++){\n"
|
" for(int i = 0; i < 4; i++){\n"
|
||||||
" SkinVertex += (mul(u_boneMatrices[int(in_indices[i])], float4(in_pos, 1.0))).xyz * in_weights[i];\n"
|
" SkinVertex += (mul(float4(in_pos, 1.0), u_boneMatrices[int(in_indices[i])])).xyz * in_weights[i];\n"
|
||||||
" SkinNormal += (mul(float3x3(u_boneMatrices[int(in_indices[i])]), in_normal)) * in_weights[i];\n"
|
" SkinNormal += mul(in_normal, float3x3(u_boneMatrices[int(in_indices[i])])) * in_weights[i];\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
|
" \n"
|
||||||
" float4 Vertex = mul(u_world, float4(SkinVertex, 1.0));\n"
|
" float4 Vertex = mul(float4(SkinVertex, 1.0), u_world);\n"
|
||||||
" gl_Position = mul(u_proj * u_view, Vertex);\n"
|
" gl_Position = mul(Vertex, u_view * u_proj);\n"
|
||||||
" float3 Normal = mul(float3x3(u_world), SkinNormal);\n"
|
" float3 Normal = mul(SkinNormal, float3x3(u_world));\n"
|
||||||
|
|
||||||
" v_tex0 = in_tex0;\n"
|
" v_tex0 = in_tex0;\n"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user