|
@@ -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() {
|