Explorar o código

added _FragCoord for hxsl

Nicolas Cannasse %!s(int64=5) %!d(string=hai) anos
pai
achega
07b50ebdb3
Modificáronse 4 ficheiros con 6 adicións e 1 borrados
  1. 2 0
      hxsl/Ast.hx
  2. 2 1
      hxsl/Checker.hx
  3. 1 0
      hxsl/GlslOut.hx
  4. 1 0
      hxsl/HlslOut.hx

+ 2 - 0
hxsl/Ast.hx

@@ -243,6 +243,8 @@ enum TGlobal {
 	// instancing
 	// instancing
 	VertexID;
 	VertexID;
 	InstanceID;
 	InstanceID;
+	// gl globals
+	FragCoord;
 }
 }
 
 
 enum Component {
 enum Component {

+ 2 - 1
hxsl/Checker.hx

@@ -169,7 +169,7 @@ class Checker {
 				[{ args : [{ name : "uv", type : vec2 }], ret : vec2 }];
 				[{ args : [{ name : "uv", type : vec2 }], ret : vec2 }];
 			case Trace:
 			case Trace:
 				[];
 				[];
-			case VertexID, InstanceID:
+			case VertexID, InstanceID, FragCoord:
 				null;
 				null;
 			}
 			}
 			if( def != null )
 			if( def != null )
@@ -177,6 +177,7 @@ class Checker {
 		}
 		}
 		globals.set("vertexID", { t : TInt, g : VertexID });
 		globals.set("vertexID", { t : TInt, g : VertexID });
 		globals.set("instanceID", { t : TInt, g : InstanceID });
 		globals.set("instanceID", { t : TInt, g : InstanceID });
+		globals.set("_FragCoord", { t : vec4, g : FragCoord });
 		globals.set("int", globals.get("toInt"));
 		globals.set("int", globals.get("toInt"));
 		globals.set("float", globals.get("toFloat"));
 		globals.set("float", globals.get("toFloat"));
 		globals.set("reflect", globals.get("lReflect"));
 		globals.set("reflect", globals.get("lReflect"));

+ 1 - 0
hxsl/GlslOut.hx

@@ -33,6 +33,7 @@ class GlslOut {
 		m.set(BVec2, "bvec2");
 		m.set(BVec2, "bvec2");
 		m.set(BVec3, "bvec3");
 		m.set(BVec3, "bvec3");
 		m.set(BVec4, "bvec4");
 		m.set(BVec4, "bvec4");
+		m.set(FragCoord, "gl_FragCoord");
 		for( g in m )
 		for( g in m )
 			KWDS.set(g, true);
 			KWDS.set(g, true);
 		m;
 		m;

+ 1 - 0
hxsl/HlslOut.hx

@@ -33,6 +33,7 @@ class HlslOut {
 		m.set(BVec2, "bool2");
 		m.set(BVec2, "bool2");
 		m.set(BVec3, "bool3");
 		m.set(BVec3, "bool3");
 		m.set(BVec4, "bool4");
 		m.set(BVec4, "bool4");
+		m.set(FragCoord,"_in.__pos__");
 		for( g in m )
 		for( g in m )
 			KWDS.set(g, true);
 			KWDS.set(g, true);
 		m;
 		m;