1 /**
2 * @author mikael emtinger / http://gomo.se/
3 * @author alteredq / http://alteredqualia.com/
4 */
5
6 /**@constructor*/
7 THREE.Sprite = function ( parameters ) {
8
9 THREE.Object3D.call( this );
10
11 parameters = parameters || {};
12
13 this.color = ( parameters.color !== undefined ) ? new THREE.Color( parameters.color ) : new THREE.Color( 0xffffff );
14 this.map = ( parameters.map !== undefined ) ? parameters.map : new THREE.Texture();
15
16 this.blending = ( parameters.blending !== undefined ) ? parameters.blending : THREE.NormalBlending;
17
18 this.blendSrc = parameters.blendSrc !== undefined ? parameters.blendSrc : THREE.SrcAlphaFactor;
19 this.blendDst = parameters.blendDst !== undefined ? parameters.blendDst : THREE.OneMinusSrcAlphaFactor;
20 this.blendEquation = parameters.blendEquation !== undefined ? parameters.blendEquation : THREE.AddEquation;
21
22 this.useScreenCoordinates = ( parameters.useScreenCoordinates !== undefined ) ? parameters.useScreenCoordinates : true;
23 this.mergeWith3D = ( parameters.mergeWith3D !== undefined ) ? parameters.mergeWith3D : !this.useScreenCoordinates;
24 this.affectedByDistance = ( parameters.affectedByDistance !== undefined ) ? parameters.affectedByDistance : !this.useScreenCoordinates;
25 this.scaleByViewport = ( parameters.scaleByViewport !== undefined ) ? parameters.scaleByViewport : !this.affectedByDistance;
26 this.alignment = ( parameters.alignment instanceof THREE.Vector2 ) ? parameters.alignment : THREE.SpriteAlignment.center.clone();
27
28 this.fog = ( parameters.fog !== undefined ) ? parameters.fog : false;
29
30 this.rotation3d = this.rotation;
31 this.rotation = 0;
32 this.opacity = 1;
33
34 this.uvOffset = new THREE.Vector2( 0, 0 );
35 this.uvScale = new THREE.Vector2( 1, 1 );
36
37 };
38
39 THREE.Sprite.prototype = Object.create( THREE.Object3D.prototype );
40
41 /*
42 * Custom update matrix
43 */
44
45 THREE.Sprite.prototype.updateMatrix = function () {
46
47 this.matrix.setPosition( this.position );
48
49 this.rotation3d.set( 0, 0, this.rotation );
50 this.matrix.setRotationFromEuler( this.rotation3d );
51
52 if ( this.scale.x !== 1 || this.scale.y !== 1 ) {
53
54 this.matrix.scale( this.scale );
55 this.boundRadiusScale = Math.max( this.scale.x, this.scale.y );
56
57 }
58
59 this.matrixWorldNeedsUpdate = true;
60
61 };
62
63 THREE.Sprite.prototype.clone = function ( object ) {
64
65 if ( object === undefined ) object = new THREE.Sprite( {} );
66
67 object.color.copy( this.color );
68 object.map = this.map;
69 object.blending = this.blending;
70
71 object.useScreenCoordinates = this.useScreenCoordinates;
72 object.mergeWith3D = this.mergeWith3D;
73 object.affectedByDistance = this.affectedByDistance;
74 object.scaleByViewport = this.scaleByViewport;
75 object.alignment = this.alignment;
76
77 object.fog = this.fog;
78
79 object.rotation3d.copy( this.rotation3d );
80 object.rotation = this.rotation;
81 object.opacity = this.opacity;
82
83 object.uvOffset.copy( this.uvOffset );
84 object.uvScale.copy( this.uvScale);
85
86 THREE.Object3D.prototype.clone.call( this, object );
87
88 return object;
89
90 };
91
92 /*
93 * Alignment
94 */
95
96 /**@namespace*/
97 /**@fieldOf THREE
98 @field
99 @name SpriteAlignment*/
100 THREE.SpriteAlignment = {};
101 THREE.SpriteAlignment.topLeft = new THREE.Vector2( 1, -1 );
102 THREE.SpriteAlignment.topCenter = new THREE.Vector2( 0, -1 );
103 THREE.SpriteAlignment.topRight = new THREE.Vector2( -1, -1 );
104 THREE.SpriteAlignment.centerLeft = new THREE.Vector2( 1, 0 );
105 THREE.SpriteAlignment.center = new THREE.Vector2( 0, 0 );
106 THREE.SpriteAlignment.centerRight = new THREE.Vector2( -1, 0 );
107 THREE.SpriteAlignment.bottomLeft = new THREE.Vector2( 1, 1 );
108 THREE.SpriteAlignment.bottomCenter = new THREE.Vector2( 0, 1 );
109 THREE.SpriteAlignment.bottomRight = new THREE.Vector2( -1, 1 );
110
nike free rn
new balance hombre baratas
cinturones gucci
ugg rebajas
cinturon gucci
ray ban baratas
nike cortez
peuterey mujer
christian louboutin madrid
mbt zapatos
gafas ray ban baratas
mbt ofertas
air max blancas
mbt barcelona
nike air max 90
woolrich barcelona
nike mujer
botas ugg
gafas de sol carrera aratas
air max 2016 baratas
oakley baratas
nike air max 2016