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

Updated builds.

上级 ed5dc837
......@@ -15758,108 +15758,56 @@ THREE.CanvasRenderer = function ( parameters ) {
setOpacity( material.opacity );
setBlending( material.blending );
var width, height, scaleX, scaleY,
bitmap, bitmapWidth, bitmapHeight;
var scaleX = element.scale.x * _canvasWidthHalf;
var scaleY = element.scale.y * _canvasHeightHalf;
if ( material instanceof THREE.SpriteMaterial ||
material instanceof THREE.ParticleSystemMaterial ) { // Backwards compatibility
if ( material.map.image !== undefined ) {
bitmap = material.map.image;
bitmapWidth = bitmap.width >> 1;
bitmapHeight = bitmap.height >> 1;
_elemBox.min.set( v1.x - scaleX, v1.y - scaleY );
_elemBox.max.set( v1.x + scaleX, v1.y + scaleY );
scaleX = element.scale.x * _canvasWidthHalf;
scaleY = element.scale.y * _canvasHeightHalf;
if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
width = scaleX * bitmapWidth;
height = scaleY * bitmapHeight;
// TODO: Rotations break this...
_elemBox.makeEmpty();
return;
_elemBox.min.set( v1.x - width, v1.y - height );
_elemBox.max.set( v1.x + width, v1.y + height );
}
if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
if ( material instanceof THREE.SpriteMaterial ||
material instanceof THREE.ParticleSystemMaterial ) { // Backwards compatibility
_elemBox.makeEmpty();
return;
if ( material.map.image !== undefined ) {
}
var bitmap = material.map.image;
_context.save();
_context.translate( v1.x, v1.y );
_context.rotate( - element.rotation );
_context.rotate( - material.rotation );
_context.scale( scaleX, - scaleY );
_context.translate( - bitmapWidth, - bitmapHeight );
_context.drawImage( bitmap, 0, 0 );
_context.drawImage( bitmap, 0, 0, bitmap.width, bitmap.height, - 0.5, - 0.5, 1, 1 );
_context.restore();
} else {
scaleX = element.object.scale.x;
scaleY = element.object.scale.y;
// TODO: Be able to disable this
scaleX *= element.scale.x * _canvasWidthHalf;
scaleY *= element.scale.y * _canvasHeightHalf;
_elemBox.min.set( v1.x - scaleX, v1.y - scaleY );
_elemBox.max.set( v1.x + scaleX, v1.y + scaleY );
if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
_elemBox.makeEmpty();
return;
}
setFillStyle( material.color.getStyle() );
_context.save();
_context.translate( v1.x, v1.y );
_context.rotate( - element.rotation );
_context.scale( scaleX, scaleY );
_context.fillRect( -1, -1, 2, 2 );
_context.fillRect( - 0.5, - 0.5, 1, 1 );
_context.restore();
}
/* DEBUG
setStrokeStyle( 'rgb(255,255,0)' );
_context.beginPath();
_context.moveTo( v1.x - 10, v1.y );
_context.lineTo( v1.x + 10, v1.y );
_context.moveTo( v1.x, v1.y - 10 );
_context.lineTo( v1.x, v1.y + 10 );
_context.stroke();
*/
} else if ( material instanceof THREE.SpriteCanvasMaterial ) {
width = element.scale.x * _canvasWidthHalf;
height = element.scale.y * _canvasHeightHalf;
_elemBox.min.set( v1.x - width, v1.y - height );
_elemBox.max.set( v1.x + width, v1.y + height );
if ( _clipBox.isIntersectionBox( _elemBox ) === false ) {
_elemBox.makeEmpty();
return;
}
setStrokeStyle( material.color.getStyle() );
setFillStyle( material.color.getStyle() );
_context.save();
_context.translate( v1.x, v1.y );
_context.rotate( - element.rotation );
_context.scale( width, height );
_context.scale( scaleX, scaleY );
material.program( _context );
......@@ -15867,6 +15815,16 @@ THREE.CanvasRenderer = function ( parameters ) {
}
/* DEBUG
setStrokeStyle( 'rgb(255,255,0)' );
_context.beginPath();
_context.moveTo( v1.x - 10, v1.y );
_context.lineTo( v1.x + 10, v1.y );
_context.moveTo( v1.x, v1.y - 10 );
_context.lineTo( v1.x, v1.y + 10 );
_context.stroke();
*/
}
function renderLine( v1, v2, element, material ) {
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册