ncannasse 7 năm trước cách đây
mục cha
commit
5bfe0a312a
1 tập tin đã thay đổi với 16 bổ sung0 xóa
  1. 16 0
      h3d/scene/pbr/Irradiance.hx

+ 16 - 0
h3d/scene/pbr/Irradiance.hx

@@ -229,6 +229,22 @@ class Irradiance  {
 		screen.dispose();
 	}
 
+	#if (js || flash)
+	function _reversebits( i : Int ) : Int {
+		var r = (i << 16) | (i >>> 16);
+		r = ((r & 0x00ff00ff) << 8) | ((r & 0xff00ff00) >>> 8);
+		r = ((r & 0x0f0f0f0f) << 4) | ((r & 0xf0f0f0f0) >>> 4);
+		r = ((r & 0x33333333) << 2) | ((r & 0xcccccccc) >>> 2);
+		r = ((r & 0x55555555) << 1) | ((r & 0xaaaaaaaa) >>> 1);
+		return r;
+	}
+
+	function hammersley( i : Int, max : Int ) : h3d.Vector {
+		var ri = _reversebits(i) * 2.3283064365386963e-10;
+		return new h3d.Vector(i / max, ri);
+	}
+	#end
+
 	function computeIrradiance() {
 
 		var screen = new h3d.pass.ScreenFx(new IrradShader());