瀏覽代碼

only list @perInstance shader params

Nicolas Cannasse 4 年之前
父節點
當前提交
1083b30529
共有 1 個文件被更改,包括 12 次插入1 次删除
  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.]}]));
 		}
 		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) {
 				var tracks = null;
 				var isColor = false;
@@ -1385,6 +1385,17 @@ class FXEditor extends FileView {
 		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() {
 		if(grid != null) {
 			grid.remove();