提交 f2faf11a 编写于 作者: M Mr.doob

Removed unnneeded color clamping.

上级 fbb5f5b7
...@@ -359,9 +359,9 @@ THREE.SVGRenderer = function () { ...@@ -359,9 +359,9 @@ THREE.SVGRenderer = function () {
calculateLight( _lights, element.centroidWorld, element.normalWorld, _color ); calculateLight( _lights, element.centroidWorld, element.normalWorld, _color );
_color.r = Math.max( 0, Math.min( diffuse.r * _color.r + emissive.r, 1 ) ); _color.r = diffuse.r * _color.r + emissive.r;
_color.g = Math.max( 0, Math.min( diffuse.g * _color.g + emissive.g, 1 ) ); _color.g = diffuse.g * _color.g + emissive.g;
_color.b = Math.max( 0, Math.min( diffuse.b * _color.b + emissive.b, 1 ) ); _color.b = diffuse.b * _color.b + emissive.b;
} else { } else {
...@@ -419,9 +419,9 @@ THREE.SVGRenderer = function () { ...@@ -419,9 +419,9 @@ THREE.SVGRenderer = function () {
calculateLight( _lights, element.centroidWorld, element.normalWorld, _color ); calculateLight( _lights, element.centroidWorld, element.normalWorld, _color );
_color.r = Math.max( 0, Math.min( diffuse.r * _color.r + emissive.r, 1 ) ); _color.r = diffuse.r * _color.r + emissive.r;
_color.g = Math.max( 0, Math.min( diffuse.g * _color.g + emissive.g, 1 ) ); _color.g = diffuse.g * _color.g + emissive.g;
_color.b = Math.max( 0, Math.min( diffuse.b * _color.b + emissive.b, 1 ) ); _color.b = diffuse.b * _color.b + emissive.b;
} else { } else {
......
...@@ -165,13 +165,13 @@ THREE.Color.prototype = { ...@@ -165,13 +165,13 @@ THREE.Color.prototype = {
getHex: function () { getHex: function () {
return Math.floor( this.r * 255 ) << 16 ^ Math.floor( this.g * 255 ) << 8 ^ Math.floor( this.b * 255 ); return ( this.r * 255 ) << 16 ^ ( this.g * 255 ) << 8 ^ ( this.b * 255 ) << 0;
}, },
getContextStyle: function () { getContextStyle: function () {
return 'rgb(' + Math.floor( this.r * 255 ) + ',' + Math.floor( this.g * 255 ) + ',' + Math.floor( this.b * 255 ) + ')'; return 'rgb(' + ( ( this.r * 255 ) | 0 ) + ',' + ( ( this.g * 255 ) | 0 ) + ',' + ( ( this.b * 255 ) | 0 ) + ')';
}, },
......
...@@ -576,17 +576,17 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -576,17 +576,17 @@ THREE.CanvasRenderer = function ( parameters ) {
calculateLight( element.v2.positionWorld, element.vertexNormalsWorld[ 1 ], _color2 ); calculateLight( element.v2.positionWorld, element.vertexNormalsWorld[ 1 ], _color2 );
calculateLight( element.v3.positionWorld, element.vertexNormalsWorld[ 2 ], _color3 ); calculateLight( element.v3.positionWorld, element.vertexNormalsWorld[ 2 ], _color3 );
_color1.r = Math.max( 0, Math.min( diffuse.r * _color1.r + emissive.r, 1 ) ); _color1.r = diffuse.r * _color1.r + emissive.r;
_color1.g = Math.max( 0, Math.min( diffuse.g * _color1.g + emissive.g, 1 ) ); _color1.g = diffuse.g * _color1.g + emissive.g;
_color1.b = Math.max( 0, Math.min( diffuse.b * _color1.b + emissive.b, 1 ) ); _color1.b = diffuse.b * _color1.b + emissive.b;
_color2.r = Math.max( 0, Math.min( diffuse.r * _color2.r + emissive.r, 1 ) ); _color2.r = diffuse.r * _color2.r + emissive.r;
_color2.g = Math.max( 0, Math.min( diffuse.g * _color2.g + emissive.g, 1 ) ); _color2.g = diffuse.g * _color2.g + emissive.g;
_color2.b = Math.max( 0, Math.min( diffuse.b * _color2.b + emissive.b, 1 ) ); _color2.b = diffuse.b * _color2.b + emissive.b;
_color3.r = Math.max( 0, Math.min( diffuse.r * _color3.r + emissive.r, 1 ) ); _color3.r = diffuse.r * _color3.r + emissive.r;
_color3.g = Math.max( 0, Math.min( diffuse.g * _color3.g + emissive.g, 1 ) ); _color3.g = diffuse.g * _color3.g + emissive.g;
_color3.b = Math.max( 0, Math.min( diffuse.b * _color3.b + emissive.b, 1 ) ); _color3.b = diffuse.b * _color3.b + emissive.b;
_color4.r = ( _color2.r + _color3.r ) * 0.5; _color4.r = ( _color2.r + _color3.r ) * 0.5;
_color4.g = ( _color2.g + _color3.g ) * 0.5; _color4.g = ( _color2.g + _color3.g ) * 0.5;
...@@ -604,9 +604,9 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -604,9 +604,9 @@ THREE.CanvasRenderer = function ( parameters ) {
calculateLight( element.centroidWorld, element.normalWorld, _color ); calculateLight( element.centroidWorld, element.normalWorld, _color );
_color.r = Math.max( 0, Math.min( diffuse.r * _color.r + emissive.r, 1 ) ); _color.r = diffuse.r * _color.r + emissive.r;
_color.g = Math.max( 0, Math.min( diffuse.g * _color.g + emissive.g, 1 ) ); _color.g = diffuse.g * _color.g + emissive.g;
_color.b = Math.max( 0, Math.min( diffuse.b * _color.b + emissive.b, 1 ) ); _color.b = diffuse.b * _color.b + emissive.b;
material.wireframe === true ? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin ) : fillPath( _color ); material.wireframe === true ? strokePath( _color, material.wireframeLinewidth, material.wireframeLinecap, material.wireframeLinejoin ) : fillPath( _color );
...@@ -736,21 +736,21 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -736,21 +736,21 @@ THREE.CanvasRenderer = function ( parameters ) {
calculateLight( element.v4.positionWorld, element.vertexNormalsWorld[ 3 ], _color3 ); calculateLight( element.v4.positionWorld, element.vertexNormalsWorld[ 3 ], _color3 );
calculateLight( element.v3.positionWorld, element.vertexNormalsWorld[ 2 ], _color4 ); calculateLight( element.v3.positionWorld, element.vertexNormalsWorld[ 2 ], _color4 );
_color1.r = Math.max( 0, Math.min( diffuse.r * _color1.r + emissive.r, 1 ) ); _color1.r = diffuse.r * _color1.r + emissive.r;
_color1.g = Math.max( 0, Math.min( diffuse.g * _color1.g + emissive.g, 1 ) ); _color1.g = diffuse.g * _color1.g + emissive.g;
_color1.b = Math.max( 0, Math.min( diffuse.b * _color1.b + emissive.b, 1 ) ); _color1.b = diffuse.b * _color1.b + emissive.b;
_color2.r = Math.max( 0, Math.min( diffuse.r * _color2.r + emissive.r, 1 ) ); _color2.r = diffuse.r * _color2.r + emissive.r;
_color2.g = Math.max( 0, Math.min( diffuse.g * _color2.g + emissive.g, 1 ) ); _color2.g = diffuse.g * _color2.g + emissive.g;
_color2.b = Math.max( 0, Math.min( diffuse.b * _color2.b + emissive.b, 1 ) ); _color2.b = diffuse.b * _color2.b + emissive.b;
_color3.r = Math.max( 0, Math.min( diffuse.r * _color3.r + emissive.r, 1 ) ); _color3.r = diffuse.r * _color3.r + emissive.r;
_color3.g = Math.max( 0, Math.min( diffuse.g * _color3.g + emissive.g, 1 ) ); _color3.g = diffuse.g * _color3.g + emissive.g;
_color3.b = Math.max( 0, Math.min( diffuse.b * _color3.b + emissive.b, 1 ) ); _color3.b = diffuse.b * _color3.b + emissive.b;
_color4.r = Math.max( 0, Math.min( diffuse.r * _color4.r + emissive.r, 1 ) ); _color4.r = diffuse.r * _color4.r + emissive.r;
_color4.g = Math.max( 0, Math.min( diffuse.g * _color4.g + emissive.g, 1 ) ); _color4.g = diffuse.g * _color4.g + emissive.g;
_color4.b = Math.max( 0, Math.min( diffuse.b * _color4.b + emissive.b, 1 ) ); _color4.b = diffuse.b * _color4.b + emissive.b;
_image = getGradientTexture( _color1, _color2, _color3, _color4 ); _image = getGradientTexture( _color1, _color2, _color3, _color4 );
...@@ -770,9 +770,9 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -770,9 +770,9 @@ THREE.CanvasRenderer = function ( parameters ) {
calculateLight( element.centroidWorld, element.normalWorld, _color ); calculateLight( element.centroidWorld, element.normalWorld, _color );
_color.r = Math.max( 0, Math.min( diffuse.r * _color.r + emissive.r, 1 ) ); _color.r = diffuse.r * _color.r + emissive.r;
_color.g = Math.max( 0, Math.min( diffuse.g * _color.g + emissive.g, 1 ) ); _color.g = diffuse.g * _color.g + emissive.g;
_color.b = Math.max( 0, Math.min( diffuse.b * _color.b + emissive.b, 1 ) ); _color.b = diffuse.b * _color.b + emissive.b;
drawQuad( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _v4x, _v4y ); drawQuad( _v1x, _v1y, _v2x, _v2y, _v3x, _v3y, _v4x, _v4y );
...@@ -1005,26 +1005,21 @@ THREE.CanvasRenderer = function ( parameters ) { ...@@ -1005,26 +1005,21 @@ THREE.CanvasRenderer = function ( parameters ) {
// http://mrdoob.com/blog/post/710 // http://mrdoob.com/blog/post/710
var c1r = ( color1.r * 255 ) | 0, c1g = ( color1.g * 255 ) | 0, c1b = ( color1.b * 255 ) | 0; _pixelMapData[ 0 ] = ( color1.r * 255 ) | 0;
var c2r = ( color2.r * 255 ) | 0, c2g = ( color2.g * 255 ) | 0, c2b = ( color2.b * 255 ) | 0; _pixelMapData[ 1 ] = ( color1.g * 255 ) | 0;
var c3r = ( color3.r * 255 ) | 0, c3g = ( color3.g * 255 ) | 0, c3b = ( color3.b * 255 ) | 0; _pixelMapData[ 2 ] = ( color1.b * 255 ) | 0;
var c4r = ( color4.r * 255 ) | 0, c4g = ( color4.g * 255 ) | 0, c4b = ( color4.b * 255 ) | 0;
_pixelMapData[ 0 ] = c1r < 0 ? 0 : c1r > 255 ? 255 : c1r; _pixelMapData[ 4 ] = ( color2.r * 255 ) | 0;
_pixelMapData[ 1 ] = c1g < 0 ? 0 : c1g > 255 ? 255 : c1g; _pixelMapData[ 5 ] = ( color2.g * 255 ) | 0;
_pixelMapData[ 2 ] = c1b < 0 ? 0 : c1b > 255 ? 255 : c1b; _pixelMapData[ 6 ] = ( color2.b * 255 ) | 0;
_pixelMapData[ 4 ] = c2r < 0 ? 0 : c2r > 255 ? 255 : c2r; _pixelMapData[ 8 ] = ( color3.r * 255 ) | 0;
_pixelMapData[ 5 ] = c2g < 0 ? 0 : c2g > 255 ? 255 : c2g; _pixelMapData[ 9 ] = ( color3.g * 255 ) | 0;
_pixelMapData[ 6 ] = c2b < 0 ? 0 : c2b > 255 ? 255 : c2b; _pixelMapData[ 10 ] = ( color3.b * 255 ) | 0;
_pixelMapData[ 8 ] = c3r < 0 ? 0 : c3r > 255 ? 255 : c3r; _pixelMapData[ 12 ] = ( color4.r * 255 ) | 0;
_pixelMapData[ 9 ] = c3g < 0 ? 0 : c3g > 255 ? 255 : c3g; _pixelMapData[ 13 ] = ( color4.g * 255 ) | 0;
_pixelMapData[ 10 ] = c3b < 0 ? 0 : c3b > 255 ? 255 : c3b; _pixelMapData[ 14 ] = ( color4.b * 255 ) | 0;
_pixelMapData[ 12 ] = c4r < 0 ? 0 : c4r > 255 ? 255 : c4r;
_pixelMapData[ 13 ] = c4g < 0 ? 0 : c4g > 255 ? 255 : c4g;
_pixelMapData[ 14 ] = c4b < 0 ? 0 : c4b > 255 ? 255 : c4b;
_pixelMapContext.putImageData( _pixelMapImage, 0, 0 ); _pixelMapContext.putImageData( _pixelMapImage, 0, 0 );
_gradientMapContext.drawImage( _pixelMap, 0, 0 ); _gradientMapContext.drawImage( _pixelMap, 0, 0 );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册