Browse Source

added DynamicShader.setVariable/getVariable

Nicolas Cannasse 11 tháng trước cách đây
mục cha
commit
e23792a898
1 tập tin đã thay đổi với 18 bổ sung0 xóa
  1. 18 0
      hxsl/DynamicShader.hx

+ 18 - 0
hxsl/DynamicShader.hx

@@ -170,6 +170,24 @@ class DynamicShader extends Shader {
 		updateConstantsFinal(globals);
 		updateConstantsFinal(globals);
 	}
 	}
 
 
+	public function getVariable( name : String ) {
+		var vid = varNames.get(name);
+		if( vid == null )
+			return null;
+		return vid < 0 ? floats[-vid-1] : values[vid];
+	}
+
+	public function setVariable( name : String, value : Dynamic ) {
+		var vid = varNames.get(name);
+		if( vid == null )
+			return false;
+		if( vid < 0 )
+			floats[-vid-1] = value;
+		else
+			values[vid] = value;
+		return true;
+	}
+
 	@:keep public function hscriptGet( field : String ) : Dynamic {
 	@:keep public function hscriptGet( field : String ) : Dynamic {
 		var vid = varNames.get(field);
 		var vid = varNames.get(field);
 		if( vid == null )
 		if( vid == null )