Explorar o código

fixed GlslOut.compile

ncannasse %!s(int64=7) %!d(string=hai) anos
pai
achega
cf806ab0ff
Modificáronse 3 ficheiros con 13 adicións e 5 borrados
  1. 6 2
      h2d/Drawable.hx
  2. 6 2
      h3d/mat/Pass.hx
  3. 1 1
      hxsl/GlslOut.hx

+ 6 - 2
h2d/Drawable.hx

@@ -109,8 +109,12 @@ class Drawable extends Sprite {
 			var ctx = getScene().ctx;
 			ctx.manager.compileShaders(new hxsl.ShaderList(ctx.baseShader,shaders));
 		}
-		var toString = toHxsl ? function(d) return hxsl.Printer.shaderToString(d,true) : hxsl.GlslOut.toGlsl;
-		return "VERTEX=\n" + toString(shader.vertex.data) + "\n\nFRAGMENT=\n" + toString(shader.fragment.data);
+		if( toHxsl ) {
+			var toString = hxsl.Printer.shaderToString.bind(_, true);
+			return "// vertex:\n" + toString(shader.vertex.data) + "\n\nfragment:\n" + toString(shader.fragment.data);
+		} else {
+			return h3d.Engine.getCurrent().driver.getNativeShaderCode(shader);
+		}
 	}
 
 	public function getShader< T:hxsl.Shader >( stype : Class<T> ) : T {

+ 6 - 2
h3d/mat/Pass.hx

@@ -196,8 +196,12 @@ class Pass implements h3d.impl.Serializable {
 
 	public function getDebugShaderCode( scene : h3d.scene.Scene, toHxsl = true ) {
 		var shader = scene.renderer.compileShader(this);
-		var toString = toHxsl ? hxsl.Printer.shaderToString.bind(_, true) : hxsl.GlslOut.toGlsl;
-		return "VERTEX=\n" + toString(shader.vertex.data) + "\n\nFRAGMENT=\n" + toString(shader.fragment.data);
+		if( toHxsl ) {
+			var toString = hxsl.Printer.shaderToString.bind(_, true);
+			return "// vertex:\n" + toString(shader.vertex.data) + "\n\nfragment:\n" + toString(shader.fragment.data);
+		} else {
+			return h3d.Engine.getCurrent().driver.getNativeShaderCode(shader);
+		}
 	}
 
 	#if hxbit

+ 1 - 1
hxsl/GlslOut.hx

@@ -583,7 +583,7 @@ class GlslOut {
 		return decls.join("\n");
 	}
 
-	public static function toGlsl( s : ShaderData ) {
+	public static function compile( s : ShaderData ) {
 		var out = new GlslOut();
 		#if js
 		out.glES = true;