Pārlūkot izejas kodu

added hasGlobal()

Nicolas Cannasse 11 gadi atpakaļ
vecāks
revīzija
0dd4e23fc5
2 mainītis faili ar 11 papildinājumiem un 0 dzēšanām
  1. 5 0
      hxsl/Cache.hx
  2. 6 0
      hxsl/RuntimeShader.hx

+ 5 - 0
hxsl/Cache.hx

@@ -87,6 +87,11 @@ class Cache {
 		r.vertex = flattenShader(s.vertex, Vertex, paramVars);
 		r.vertex.vertex = true;
 		r.fragment = flattenShader(s.fragment, Fragment, paramVars);
+		r.globals = new Map();
+		for( v in r.vertex.globals )
+			r.globals.set(v.gid, true);
+		for( v in r.fragment.globals )
+			r.globals.set(v.gid, true);
 		c.linked = r;
 		return r;
 	}

+ 6 - 0
hxsl/RuntimeShader.hx

@@ -48,9 +48,15 @@ class RuntimeShader {
 	public var id : Int;
 	public var vertex : RuntimeShaderData;
 	public var fragment : RuntimeShaderData;
+	public var globals : Map<Int,Bool>;
 
 	public function new() {
 		id = UID++;
 	}
 
+	public inline function hasGlobal( gid : Int ) {
+		return globals.exists(gid);
+	}
+
+
 }