提交 964e08be 编写于 作者: B Ben Houston

fix bug in encodings.glsl

上级 707d3a45
......@@ -82,7 +82,7 @@ THREE.PMREMGenerator.prototype = {
renderer.gammaInput = renderer.gammaInput;
renderer.gammaOutput = renderer.gammaOutput;
},
renderToCubeMapTarget: function( renderer, renderTarget ) {
......@@ -219,7 +219,13 @@ THREE.PMREMGenerator.prototype = {
rgbColor /= float(NumSamples);\n\
//rgbColor = testColorMap( roughness ).rgb;\n\
gl_FragColor = linearToOutputTexel( vec4( rgbColor, 1.0 ) );\n\
}"
}",
blending: THREE.CustomBlending,
blendSrc: THREE.OneFactor,
blendDst: THREE.ZeroFactor,
blendSrcAlpha: THREE.OneFactor,
blendDstAlpha: THREE.ZeroFactor,
blendEquation: THREE.AddEquation
}
);
}
......
......@@ -11,7 +11,7 @@ THREE.PMREM_CubeUVPacker = function( cubeTextureLods, numLods ) {
var size = cubeTextureLods[ 0 ].width * 4;
this.CubeUVRenderTarget = new THREE.WebGLRenderTarget( size, size,
{ format: THREE.RGBAFormat, magFilter: THREE.LinearFilter, minFilter: THREE.LinearFilter, type:cubeTextureLods[ 0 ].type } );
{ format: THREE.RGBAFormat, magFilter: THREE.LinearFilter, minFilter: THREE.LinearFilter, type: cubeTextureLods[ 0 ].texture.type } );
this.CubeUVRenderTarget.texture.generateMipmaps = false;
this.CubeUVRenderTarget.mapping = THREE.CubeUVReflectionMapping;
this.camera = new THREE.OrthographicCamera( - size * 0.5, size * 0.5, - size * 0.5, size * 0.5, 0.0, 1000 );
......@@ -96,7 +96,6 @@ THREE.PMREM_CubeUVPacker.prototype = {
renderer.gammaInput = renderer.gammaInput;
renderer.gammaOutput = renderer.gammaOutput;
},
getShader: function() {
......
......@@ -99,20 +99,23 @@
renderer = new THREE.WebGLRenderer( { alpha:true, antialias: true } );
var hdrType = THREE.UnsignedByteType;
/* if ( renderer.extensions.get( 'OES_texture_half_float' ) && renderer.extensions.get( 'OES_texture_half_float_linear' ) ) {
if ( renderer.extensions.get( 'OES_texture_half_float' ) && renderer.extensions.get( 'OES_texture_half_float_linear' ) ) {
hdrType = THREE.HalfFloatType;
}
else if ( renderer.extensions.get( 'OES_texture_float' ) && renderer.extensions.get( 'OES_texture_float_linear' ) ) {
hdrType = THREE.FloatType;
}*/
}
var hdrCubeMap = new THREE.HDRCubeMapLoader().load( hdrType, hdrurls, function ( hdrCubeMap ) {
var pmremGenerator = new THREE.PMREMGenerator( hdrCubeMap );
pmremGenerator.update(renderer);
var pmremCubeUVPacker = new THREE.PMREM_CubeUVPacker(pmremGenerator.cubeLods);
pmremCubeUVPacker.update(renderer);
var roughnessTexture = THREE.ImageUtils.loadTexture( "../examples/textures/roughness_map.jpg" );
roughnessTexture.wrapS = THREE.RepeatWrapping;
roughnessTexture.wrapT = THREE.RepeatWrapping;
......
......@@ -19,12 +19,12 @@ vec4 LinearTosRGB( in vec4 value ) {
}
vec4 RGBEToLinear( in vec4 value ) {
return vec4( value.rgb * exp2( value.a * 256.0 - 128.0 ), 1.0 );
return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );
}
vec4 LinearToRGBE( in vec4 value ) {
float maxComponent = max( max( value.r, value.g ), value.b );
float fExp = ceil( log2( maxComponent ) );
return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 256.0 );
float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );
return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );
// return vec4( value.brg, ( 3.0 + 128.0 ) / 256.0 );
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册