Explorar el Código

fixed specular indirect in JS

ncannasse hace 7 años
padre
commit
6124f2d768
Se han modificado 2 ficheros con 8 adiciones y 7 borrados
  1. 6 5
      h3d/scene/pbr/Environment.hx
  2. 2 2
      h3d/scene/pbr/Renderer.hx

+ 6 - 5
h3d/scene/pbr/Environment.hx

@@ -273,9 +273,9 @@ class Environment  {
 		screen.shader.samplesBits = sampleBits;
 
 		var engine = h3d.Engine.getCurrent();
-		engine.driver.setRenderTarget(lut);
+		engine.pushTarget(lut);
 		screen.render();
-		engine.driver.setRenderTarget(null);
+		engine.popTarget();
 		screen.dispose();
 	}
 
@@ -290,8 +290,9 @@ class Environment  {
 
 		for( i in 0...6 ) {
 			screen.shader.faceMatrix = getCubeMatrix(i);
-			engine.driver.setRenderTarget(diffuse, i);
+			engine.pushTarget(diffuse, i);
 			screen.render();
+			engine.popTarget();
 		}
 
 		screen.shader.isSpecular = true;
@@ -309,11 +310,11 @@ class Environment  {
 				screen.shader.cubeSize = size;
 				screen.shader.cubeScaleFactor = size == 1 ? 0 : (size * size) / Math.pow(size - 1, 3);
 				screen.shader.roughness = j / specLevels;
-				engine.driver.setRenderTarget(specular, i, j);
+				engine.pushTarget(specular, i, j);
 				screen.render();
+				engine.popTarget();
 			}
 		}
-		engine.driver.setRenderTarget(null);
 	}
 
 }

+ 2 - 2
h3d/scene/pbr/Renderer.hx

@@ -104,9 +104,9 @@ class Renderer extends h3d.scene.Renderer {
 			clear(0xFF404040);
 
 		if( displayMode == MatCap ) {
-			clear(0xFFFFFFFF);
+			clear(0xFF808080);
 			setTarget(pbr);
-			clear(0x00D030FF);
+			clear(0x00FF80FF);
 		}
 
 		var output = allocTarget("hdrOutput", 0, true, RGBA16F);