فهرست منبع

Add Mark for renderer

ShiroSmith 6 سال پیش
والد
کامیت
029542ff3c
2فایلهای تغییر یافته به همراه14 افزوده شده و 4 حذف شده
  1. 3 0
      h3d/scene/Renderer.hx
  2. 11 4
      h3d/scene/pbr/Renderer.hx

+ 3 - 0
h3d/scene/Renderer.hx

@@ -50,6 +50,9 @@ class Renderer extends hxd.impl.AnyProps {
 		passObjects = new SMap();
 		passObjects = new SMap();
 	}
 	}
 
 
+	function mark(id: String) {
+	}
+
 	public function getPass<T:h3d.pass.Base>( c : Class<T> ) : T {
 	public function getPass<T:h3d.pass.Base>( c : Class<T> ) : T {
 		for( p in allPasses )
 		for( p in allPasses )
 			if( Std.is(p, c) )
 			if( Std.is(p, c) )

+ 11 - 4
h3d/scene/pbr/Renderer.hx

@@ -187,6 +187,7 @@ class Renderer extends h3d.scene.Renderer {
 	}
 	}
 
 
 	function mainDraw() {
 	function mainDraw() {
+		mark("MainDraw");
 		renderPass(output, get("default"), frontToBack);
 		renderPass(output, get("default"), frontToBack);
 		renderPass(output, get("terrain"));
 		renderPass(output, get("terrain"));
 		renderPass(output, get("alpha"), backToFront);
 		renderPass(output, get("alpha"), backToFront);
@@ -194,16 +195,19 @@ class Renderer extends h3d.scene.Renderer {
 	}
 	}
 
 
 	function drawBeforeTonemapping() {
 	function drawBeforeTonemapping() {
+		mark("BeforeTonemapping");
 		draw("beforeTonemappingDecal");
 		draw("beforeTonemappingDecal");
 		draw("beforeTonemapping");
 		draw("beforeTonemapping");
 	}
 	}
 
 
 	function drawAfterTonemapping() {
 	function drawAfterTonemapping() {
+		mark("AfterTonemapping");
 		draw("afterTonemappingDecal");
 		draw("afterTonemappingDecal");
 		draw("afterTonemapping");
 		draw("afterTonemapping");
 	}
 	}
 
 
 	function postDraw() {
 	function postDraw() {
+		mark("PostDraw");
 		draw("overlay");
 		draw("overlay");
 	}
 	}
 
 
@@ -342,6 +346,7 @@ class Renderer extends h3d.scene.Renderer {
 			screenLightPass = lpass;
 			screenLightPass = lpass;
 		}
 		}
 
 
+		mark("DirectLighting");
 		// Direct Lighting - FullScreen
 		// Direct Lighting - FullScreen
 		pbrProps.isScreen = true;
 		pbrProps.isScreen = true;
 		if( ls != null ) {
 		if( ls != null ) {
@@ -349,7 +354,6 @@ class Renderer extends h3d.scene.Renderer {
 			ls.drawScreenLights(this, lpass);
 			ls.drawScreenLights(this, lpass);
 			ctx.lightSystem.drawPasses += ctx.engine.drawCalls - count;
 			ctx.lightSystem.drawPasses += ctx.engine.drawCalls - count;
 		}
 		}
-
 		// Direct Lighting - With Primitive
 		// Direct Lighting - With Primitive
 		pbrProps.isScreen = false;
 		pbrProps.isScreen = false;
 		draw(pbrLightPass.name);
 		draw(pbrLightPass.name);
@@ -365,6 +369,7 @@ class Renderer extends h3d.scene.Renderer {
 		}
 		}
 
 
 		// Indirect Lighting - Diffuse with volumetricLightmap
 		// Indirect Lighting - Diffuse with volumetricLightmap
+		mark("VolumetricLightmap");
 		pbrProps.isScreen = false;
 		pbrProps.isScreen = false;
 		pbrIndirect.drawIndirectDiffuse = false;
 		pbrIndirect.drawIndirectDiffuse = false;
 		pbrIndirect.drawIndirectSpecular = true;
 		pbrIndirect.drawIndirectSpecular = true;
@@ -373,6 +378,7 @@ class Renderer extends h3d.scene.Renderer {
 		ctx.extraShaders = null;
 		ctx.extraShaders = null;
 
 
 		// Indirect Lighting - Diffuse and Specular
 		// Indirect Lighting - Diffuse and Specular
+		mark("Indirect Lighting");
 		pbrProps.isScreen = true;
 		pbrProps.isScreen = true;
 		pbrIndirect.drawIndirectDiffuse = true;
 		pbrIndirect.drawIndirectDiffuse = true;
 		pbrIndirect.drawIndirectSpecular = true;
 		pbrIndirect.drawIndirectSpecular = true;
@@ -381,6 +387,7 @@ class Renderer extends h3d.scene.Renderer {
 		drawBeforeTonemapping();
 		drawBeforeTonemapping();
 		apply(BeforeTonemapping);
 		apply(BeforeTonemapping);
 
 
+		mark("Distortion");
 		var distortion = allocTarget("distortion", true, 1.0, RG16F);
 		var distortion = allocTarget("distortion", true, 1.0, RG16F);
 		setTarget(distortion);
 		setTarget(distortion);
 		clear(0);
 		clear(0);
@@ -390,15 +397,15 @@ class Renderer extends h3d.scene.Renderer {
 		setTarget(ldr);
 		setTarget(ldr);
 		ctx.setGlobal("ldr", ldr);
 		ctx.setGlobal("ldr", ldr);
 
 
+
+		mark("ToneMapping");
 		// Bloom Params
 		// Bloom Params
 		var bloom = ctx.getGlobal("bloom");
 		var bloom = ctx.getGlobal("bloom");
 		tonemap.shader.bloom = bloom;
 		tonemap.shader.bloom = bloom;
 		tonemap.shader.hasBloom = bloom != null;
 		tonemap.shader.hasBloom = bloom != null;
-
 		// Distortion Params
 		// Distortion Params
 		tonemap.shader.distortion = distortion;
 		tonemap.shader.distortion = distortion;
 		tonemap.shader.hasDistortion = distortion != null;
 		tonemap.shader.hasDistortion = distortion != null;
-
 		// Color Grading Params
 		// Color Grading Params
 		tonemap.shader.pixelSize = new Vector(1.0/ctx.engine.width, 1.0/ctx.engine.height);
 		tonemap.shader.pixelSize = new Vector(1.0/ctx.engine.width, 1.0/ctx.engine.height);
 		tonemap.shader.hasColorGrading = enableColorGrading && colorGradingLUT != null;
 		tonemap.shader.hasColorGrading = enableColorGrading && colorGradingLUT != null;
@@ -406,7 +413,6 @@ class Renderer extends h3d.scene.Renderer {
 			tonemap.shader.colorGradingLUT = colorGradingLUT;
 			tonemap.shader.colorGradingLUT = colorGradingLUT;
 			tonemap.shader.lutSize = colorGradingLUTSize;
 			tonemap.shader.lutSize = colorGradingLUTSize;
 		}
 		}
-
 		tonemap.shader.mode =	switch( toneMode ) {
 		tonemap.shader.mode =	switch( toneMode ) {
 									case Linear: 0;
 									case Linear: 0;
 									case Reinhard: 1;
 									case Reinhard: 1;
@@ -427,6 +433,7 @@ class Renderer extends h3d.scene.Renderer {
 		switch( displayMode ) {
 		switch( displayMode ) {
 
 
 		case Pbr, Env, MatCap:
 		case Pbr, Env, MatCap:
+			mark("FXAA");
 			fxaa.apply(ldr);
 			fxaa.apply(ldr);
 
 
 		case Distortion:
 		case Distortion: