Explorar o código

fixed LineShader to allow post transform effects

ncannasse %!s(int64=11) %!d(string=hai) anos
pai
achega
6d42a20fb7
Modificáronse 1 ficheiros con 12 adicións e 8 borrados
  1. 12 8
      h3d/shader/LineShader.hx

+ 12 - 8
h3d/shader/LineShader.hx

@@ -32,16 +32,20 @@ class LineShader extends hxsl.Shader {
 		@param var lengthScale : Float;
 		@param var width : Float;
 
-		function vertex() {
-			var dir = input.normal * global.modelView.mat3(); // keep scale
-			var pdir = vec4(dir * mat3(camera.view), 1) * camera.proj;
-
-			pdir.xy *= 1 / sqrt(pdir.x * pdir.x + pdir.y * pdir.y);
+		var pdir : Vec4;
+
+		function __init__() {
+			{
+				var dir = input.normal * global.modelView.mat3(); // keep scale
+				pdir = vec4(dir * mat3(camera.view), 1) * camera.proj;
+				pdir.xy *= 1 / sqrt(pdir.x * pdir.x + pdir.y * pdir.y);
+				transformedPosition += dir * input.uv.x * lengthScale;
+				transformedNormal = dir.normalize();
+			}
+		}
 
-			transformedPosition += dir * input.uv.x * lengthScale;
-			projectedPosition = vec4(transformedPosition, 1) * camera.viewProj;
+		function vertex() {
 			projectedPosition.xy += (pdir.yx * vec2(1,-1)) * (input.uv.y - 0.5) * projectedPosition.z * global.pixelSize * width;
-			transformedNormal = dir.normalize();
 		}
 
 	};