Explorar o código

fixes for sampler changes

Nicolas Cannasse hai 1 ano
pai
achega
6ead0f8573

+ 2 - 2
hide/comp/SceneEditor.hx

@@ -2819,7 +2819,7 @@ class SceneEditor {
 			if (t != null)
 			if (t != null)
 				roots.push(t);
 				roots.push(t);
 		}
 		}
-
+/*
 		// Handle the export of selection into a fbx file
 		// Handle the export of selection into a fbx file
 		Ide.inst.chooseFileSave("Export.fbx", function(filePath) {
 		Ide.inst.chooseFileSave("Export.fbx", function(filePath) {
 			if (filePath != null) {
 			if (filePath != null) {
@@ -2829,7 +2829,7 @@ class SceneEditor {
 				Ide.inst.message('Successfully exported object at path : ${filePath}');
 				Ide.inst.message('Successfully exported object at path : ${filePath}');
 			}
 			}
 		});
 		});
-
+*/
 	}
 	}
 
 
 	function groupSelection() {
 	function groupSelection() {

+ 2 - 2
hide/view/shadereditor/Box.hx

@@ -134,7 +134,7 @@ class Box {
 						case 4:
 						case 4:
 							style.fill = vec4Color;
 							style.fill = vec4Color;
 					}
 					}
-				case TSampler2D:
+				case TSampler(_):
 					style.fill = samplerColor;
 					style.fill = samplerColor;
 				default:
 				default:
 			}
 			}
@@ -189,7 +189,7 @@ class Box {
 						style.fill = vec3Color;
 						style.fill = vec3Color;
 					else if (size == 4)
 					else if (size == 4)
 						style.fill = vec4Color;
 						style.fill = vec4Color;
-				case TSampler2D:
+				case TSampler(_):
 					style.fill = samplerColor;
 					style.fill = samplerColor;
 				default:
 				default:
 			}
 			}

+ 3 - 3
hide/view/shadereditor/ShaderEditor.hx

@@ -338,7 +338,7 @@ class ShaderEditor extends hide.view.Graph {
 			{ label : "Vec2", click : () -> createParameter(TVec(2, VFloat)) },
 			{ label : "Vec2", click : () -> createParameter(TVec(2, VFloat)) },
 			{ label : "Vec3", click : () -> createParameter(TVec(3, VFloat)) },
 			{ label : "Vec3", click : () -> createParameter(TVec(3, VFloat)) },
 			{ label : "Color", click : () -> createParameter(TVec(4, VFloat)) },
 			{ label : "Color", click : () -> createParameter(TVec(4, VFloat)) },
-			{ label : "Texture", click : () -> createParameter(TSampler2D) },
+			{ label : "Texture", click : () -> createParameter(TSampler(T2D,false)) },
 		];
 		];
 
 
 		parametersList = element.find("#parametersList");
 		parametersList = element.find("#parametersList");
@@ -844,7 +844,7 @@ class ShaderEditor extends hide.view.Graph {
 					//e.attr("max", "" + max);
 					//e.attr("max", "" + max);
 				}
 				}
 				typeName = "Vec" + n;
 				typeName = "Vec" + n;
-			case TSampler2D:
+			case TSampler(_):
 				var parentSampler = new Element('<input type="texturepath" field="sampler2d"/>').appendTo(defaultValue);
 				var parentSampler = new Element('<input type="texturepath" field="sampler2d"/>').appendTo(defaultValue);
 
 
 				var tselect = new hide.comp.TextureChoice(null, parentSampler);
 				var tselect = new hide.comp.TextureChoice(null, parentSampler);
@@ -971,7 +971,7 @@ class ShaderEditor extends hide.view.Graph {
 
 
 	function setDisplayValue(node : ShaderParam, type : Type, defaultValue : Dynamic) {
 	function setDisplayValue(node : ShaderParam, type : Type, defaultValue : Dynamic) {
 		switch (type) {
 		switch (type) {
-			case TSampler2D:
+			case TSampler(_):
 				if (defaultValue != null && defaultValue.length > 0)
 				if (defaultValue != null && defaultValue.length > 0)
 					node.setDisplayValue('file://${ide.getPath(defaultValue)}');
 					node.setDisplayValue('file://${ide.getPath(defaultValue)}');
 			case TVec(4, VFloat):
 			case TVec(4, VFloat):

+ 2 - 2
hrt/prefab/Shader.hx

@@ -55,7 +55,7 @@ class Shader extends Prefab {
 						val = h3d.Vector.fromArray(val);
 						val = h3d.Vector.fromArray(val);
 				} else
 				} else
 					val = new h3d.Vector();
 					val = new h3d.Vector();
-			case TSampler2D:
+			case TSampler(_):
 				if( val != null ) {
 				if( val != null ) {
 					val = Utils.getTextureFromValue(val);
 					val = Utils.getTextureFromValue(val);
 				}
 				}
@@ -230,7 +230,7 @@ class Shader extends Prefab {
 			PFloat(min != null ? min : 0.0, max != null ? max : 1.0);
 			PFloat(min != null ? min : 0.0, max != null ? max : 1.0);
 		case TBool:
 		case TBool:
 			PBool;
 			PBool;
-		case TSampler2D:
+		case TSampler(_):
 			PTexture;
 			PTexture;
 		case TVec(n, VFloat):
 		case TVec(n, VFloat):
 			if (n == 3 || n == 4) {
 			if (n == 3 || n == 4) {

+ 2 - 2
hrt/prefab/rfx/ScreenShaderGraph.hx

@@ -114,7 +114,7 @@ class ScreenShaderGraph extends RendererFX {
 						val = h3d.Vector.fromArray(val);
 						val = h3d.Vector.fromArray(val);
 				} else
 				} else
 					val = new h3d.Vector();
 					val = new h3d.Vector();
-			case TSampler2D:
+			case TSampler(_):
 				if( val != null )
 				if( val != null )
 					val = hxd.res.Loader.currentInstance.load(val).toTexture();
 					val = hxd.res.Loader.currentInstance.load(val).toTexture();
 				else {
 				else {
@@ -184,7 +184,7 @@ class ScreenShaderGraph extends RendererFX {
 			PFloat(min != null ? min : 0.0, max != null ? max : 1.0);
 			PFloat(min != null ? min : 0.0, max != null ? max : 1.0);
 		case TBool:
 		case TBool:
 			PBool;
 			PBool;
-		case TSampler2D:
+		case TSampler(_):
 			PTexturePath;
 			PTexturePath;
 		case TVec(n, VFloat):
 		case TVec(n, VFloat):
 			PVec(n);
 			PVec(n);

+ 2 - 2
hrt/shgraph/ShaderGraph.hx

@@ -375,7 +375,7 @@ class ShaderGraph extends hrt.prefab.Prefab {
 	static function setParamValue(ctx: hrt.prefab.ContextShared, shader : hxsl.DynamicShader, variable : hxsl.Ast.TVar, value : Dynamic) {
 	static function setParamValue(ctx: hrt.prefab.ContextShared, shader : hxsl.DynamicShader, variable : hxsl.Ast.TVar, value : Dynamic) {
 		try {
 		try {
 			switch (variable.type) {
 			switch (variable.type) {
-				case TSampler2D:
+				case TSampler(_):
 					var t = hrt.impl.TextureType.Utils.getTextureFromValue(value);
 					var t = hrt.impl.TextureType.Utils.getTextureFromValue(value);
 					t.wrap = Repeat;
 					t.wrap = Repeat;
 					shader.setParamValue(variable, t);
 					shader.setParamValue(variable, t);
@@ -1041,7 +1041,7 @@ class Graph {
 					}
 					}
 					else {
 					else {
 						if (nodeVar.internal) {
 						if (nodeVar.internal) {
-							if (nodeVar.v.type == TSampler2D) {
+							if (nodeVar.v.type.isTexture()) {
 								// Rewrite output var to be the sampler directly because we can't assign
 								// Rewrite output var to be the sampler directly because we can't assign
 								// a sampler to a temporary variable
 								// a sampler to a temporary variable
 								var outVar = outputs["output"];
 								var outVar = outputs["output"];

+ 4 - 4
hrt/shgraph/ShaderParam.hx

@@ -16,7 +16,7 @@ class ShaderParam extends ShaderNode {
 		var pos : Position = {file: "", min: 0, max: 0};
 		var pos : Position = {file: "", min: 0, max: 0};
 
 
 		var qual = [];
 		var qual = [];
-		if (this.variable.type == TSampler2D) {
+		if (this.variable.type.isTexture()) {
 			qual.push(Sampler(this.variable.name));
 			qual.push(Sampler(this.variable.name));
 		}
 		}
 
 
@@ -62,7 +62,7 @@ class ShaderParam extends ShaderNode {
 
 
 
 
 	override public function canHavePreview() {
 	override public function canHavePreview() {
-		return this.variable.type != TSampler2D;
+		return !this.variable.type.isTexture();
 	}
 	}
 
 
 	override public function build(key : String) : TExpr {
 	override public function build(key : String) : TExpr {
@@ -96,7 +96,7 @@ class ShaderParam extends ShaderNode {
 			case TFloat:
 			case TFloat:
 				if (displayDiv != null)
 				if (displayDiv != null)
 					displayDiv.html(value);
 					displayDiv.html(value);
-			case TSampler2D:
+			case TSampler(_):
 				if (displayDiv != null)
 				if (displayDiv != null)
 					displayDiv.css("background-image", 'url(${value})');
 					displayDiv.css("background-image", 'url(${value})');
 			case TVec(4, VFloat):
 			case TVec(4, VFloat):
@@ -112,7 +112,7 @@ class ShaderParam extends ShaderNode {
 			case TFloat:
 			case TFloat:
 				displayDiv = new hide.Element('<div class="float-preview" ></div>');
 				displayDiv = new hide.Element('<div class="float-preview" ></div>');
 				height += 20;
 				height += 20;
-			case TSampler2D:
+			case TSampler(_):
 				displayDiv = new hide.Element('<div class="texture-preview" ></div>');
 				displayDiv = new hide.Element('<div class="texture-preview" ></div>');
 				height += 50;
 				height += 50;
 			case TVec(4, VFloat):
 			case TVec(4, VFloat):

+ 2 - 2
hrt/shgraph/ShaderType.hx

@@ -48,7 +48,7 @@ class ShaderType {
 			case Float:
 			case Float:
 				return TFloat;
 				return TFloat;
 			case Sampler:
 			case Sampler:
-				return TSampler2D;
+				return TSampler(T2D,false);
 			default:
 			default:
 		}
 		}
 		return null;
 		return null;
@@ -72,7 +72,7 @@ class ShaderType {
 				return Bool;
 				return Bool;
 			case TFloat:
 			case TFloat:
 				return Float;
 				return Float;
-			case TSampler2D:
+			case TSampler(_):
 				return Sampler;
 				return Sampler;
 			default:
 			default:
 		}
 		}