瀏覽代碼

Merge pull request #7587 from avin/fix_same_calc

fix double calc of worldPos
David Catuhe 5 年之前
父節點
當前提交
ac0e9ab44a

+ 3 - 2
materialsLibrary/src/cell/cell.vertex.fx

@@ -54,9 +54,10 @@ void main(void) {
 #include<instancesVertex>
 #include<bonesVertex>
 
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
-
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 #ifdef NORMAL

+ 3 - 2
materialsLibrary/src/fire/fire.vertex.fx

@@ -54,9 +54,10 @@ void main(void) {
 #include<instancesVertex>
 #include<bonesVertex>
 
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
-
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 	// Texture coordinates

+ 3 - 2
materialsLibrary/src/gradient/gradient.vertex.fx

@@ -47,9 +47,10 @@ void main(void) {
 #include<instancesVertex>
 #include<bonesVertex> 
 
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
-
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 	vPosition = position;
 

+ 1 - 3
materialsLibrary/src/grid/grid.vertex.fx

@@ -31,13 +31,11 @@ uniform vec2 vOpacityInfos;
 void main(void) {
 	#include<instancesVertex>
 
-    #ifdef FOG
     vec4 worldPos = finalWorld * vec4(position, 1.0);
-    #endif
 
     #include<fogVertex>
 
-    vec4 cameraSpacePosition = view * finalWorld * vec4(position, 1.0);
+    vec4 cameraSpacePosition = view * worldPos;
     gl_Position = projection * cameraSpacePosition;
 
 #ifdef OPACITY

+ 3 - 2
materialsLibrary/src/mix/mix.vertex.fx

@@ -50,10 +50,11 @@ varying vec4 vColor;
 void main(void) {
 	#include<instancesVertex>
     #include<bonesVertex>
-	
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
 
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 #ifdef NORMAL

+ 3 - 2
materialsLibrary/src/normal/normal.vertex.fx

@@ -49,9 +49,10 @@ void main(void) {
 #include<instancesVertex>
 #include<bonesVertex>
 
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
-
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 #ifdef NORMAL

+ 3 - 2
materialsLibrary/src/shadowOnly/shadowOnly.vertex.fx

@@ -39,9 +39,10 @@ void main(void) {
 #include<instancesVertex>
 #include<bonesVertex>
 
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
-
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 #ifdef NORMAL

+ 3 - 2
materialsLibrary/src/simple/simple.vertex.fx

@@ -54,9 +54,10 @@ void main(void) {
 #include<instancesVertex>
 #include<bonesVertex>
 
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
-
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 #ifdef NORMAL

+ 3 - 2
materialsLibrary/src/terrain/terrain.vertex.fx

@@ -50,10 +50,11 @@ varying vec4 vColor;
 void main(void) {
 	#include<instancesVertex>
     #include<bonesVertex>
-	
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
 
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 #ifdef NORMAL

+ 3 - 2
materialsLibrary/src/triPlanar/triplanar.vertex.fx

@@ -55,10 +55,11 @@ void main(void)
 
 	#include<instancesVertex>
     #include<bonesVertex>
-	
-	gl_Position = viewProjection * finalWorld * vec4(position, 1.0);
 
 	vec4 worldPos = finalWorld * vec4(position, 1.0);
+
+	gl_Position = viewProjection * worldPos;
+
 	vPositionW = vec3(worldPos);
 
 #ifdef DIFFUSEX