Prechádzať zdrojové kódy

enable access to output screen position

ncannasse 8 rokov pred
rodič
commit
f3930cd74f
1 zmenil súbory, kde vykonal 6 pridanie a 4 odobranie
  1. 6 4
      h3d/shader/Base2d.hx

+ 6 - 4
h3d/shader/Base2d.hx

@@ -39,6 +39,8 @@ class Base2d extends hxsl.Shader {
 		@param var halfPixelInverse : Vec2;
 		@param var viewport : Vec4;
 
+		var outputPosition : Vec4;
+
 		function __init__() {
 			spritePosition = vec4(input.position, zValue, 1);
 			if( isRelative ) {
@@ -56,16 +58,16 @@ class Base2d extends hxsl.Shader {
 		function vertex() {
 			// transform from global to render texture coordinates
 			var tmp = vec3(absolutePosition.xy, 1);
-			var outPos = vec4(
+			outputPosition = vec4(
 				tmp.dot(filterMatrixA),
 				tmp.dot(filterMatrixB),
 				absolutePosition.zw
 			);
 			// transform to viewport
-			outPos.xy = (outPos.xy + viewport.xy) * viewport.zw;
+			outputPosition.xy = (outputPosition.xy + viewport.xy) * viewport.zw;
 			// http://msdn.microsoft.com/en-us/library/windows/desktop/bb219690(v=vs.85).aspx
-			if( pixelAlign ) outPos.xy -= halfPixelInverse;
-			output.position = outPos;
+			if( pixelAlign ) outputPosition.xy -= halfPixelInverse;
+			output.position = outputPosition;
 		}
 
 		function fragment() {