Explorar el Código

only list @perInstance shader params

Nicolas Cannasse hace 4 años
padre
commit
1083b30529
Se han modificado 1 ficheros con 12 adiciones y 1 borrados
  1. 12 1
      hide/view/FXEditor.hx

+ 12 - 1
hide/view/FXEditor.hx

@@ -1293,7 +1293,7 @@ class FXEditor extends FileView {
 			menuItems.push(trackItem("Visibility", [{name: "visibility", clamp: [0., 1.]}]));
 			menuItems.push(trackItem("Visibility", [{name: "visibility", clamp: [0., 1.]}]));
 		}
 		}
 		if(shaderElt != null && shaderElt.shaderDef != null) {
 		if(shaderElt != null && shaderElt.shaderDef != null) {
-			var params = shaderElt.shaderDef.shader.data.vars.filter(v -> v.kind == Param);
+			var params = shaderElt.shaderDef.shader.data.vars.filter(isPerInstance);
 			for(param in params) {
 			for(param in params) {
 				var tracks = null;
 				var tracks = null;
 				var isColor = false;
 				var isColor = false;
@@ -1385,6 +1385,17 @@ class FXEditor extends FileView {
 		return menuItems;
 		return menuItems;
 	}
 	}
 
 
+	function isPerInstance( v : hxsl.Ast.TVar ) {
+		if( v.kind != Param )
+			return false;
+		if( v.qualifiers == null )
+			return false;
+		for( q in v.qualifiers )
+			if( q.match(PerInstance(_)) )
+				return true;
+		return false;
+	}
+
 	function updateGrid() {
 	function updateGrid() {
 		if(grid != null) {
 		if(grid != null) {
 			grid.remove();
 			grid.remove();