Răsfoiți Sursa

Renderer performance mode with consistent rendering.

clementlandrin 2 ani în urmă
părinte
comite
190a8a11b7
1 a modificat fișierele cu 10 adăugiri și 4 ștergeri
  1. 10 4
      h3d/scene/pbr/Renderer.hx

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

@@ -279,8 +279,9 @@ class Renderer extends h3d.scene.Renderer {
 		draw(pbrLightPass.name);
 
 		if ( displayMode == Performance ) {
-			end();
-			return;
+			var perf = allocTarget("performance", RGBA16F);
+			h3d.pass.Copy.run(textures.hdr, perf);
+			performance.shader.hdrMap = perf;
 		}
 
 		mark("Indirect Lighting");
@@ -660,8 +661,13 @@ class Renderer extends h3d.scene.Renderer {
 			renderPass(defaultPass, get("ui"), backToFront);
 			#end
 		case Performance:
-			var hdr = ctx.getGlobal("hdrMap");
-			performance.shader.hdrMap = hdr;
+			if( enableFXAA ) {
+					mark("FXAA");
+				fxaa.apply(ldr);
+			}
+			else {
+				copy(ldr, null);
+			}
 			performance.render();
 			#if editor
 			renderPass(defaultPass, get("overlay"), backToFront);