Skip to content

Commit cd05407

Browse files
authored
SpriteNodeMaterial: Honor sizeAttenuation for perspective camera only (#31628)
1 parent ff863e6 commit cd05407

File tree

1 file changed

+3
-15
lines changed

1 file changed

+3
-15
lines changed

src/materials/nodes/SpriteNodeMaterial.js

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import NodeMaterial from './NodeMaterial.js';
2-
import { cameraProjectionMatrix } from '../../nodes/accessors/Camera.js';
32
import { materialRotation } from '../../nodes/accessors/MaterialNode.js';
43
import { modelViewMatrix, modelWorldMatrix } from '../../nodes/accessors/ModelNode.js';
54
import { positionGeometry } from '../../nodes/accessors/Position.js';
@@ -111,9 +110,7 @@ class SpriteNodeMaterial extends NodeMaterial {
111110

112111
const { object, camera } = builder;
113112

114-
const sizeAttenuation = this.sizeAttenuation;
115-
116-
const { positionNode, rotationNode, scaleNode } = this;
113+
const { positionNode, rotationNode, scaleNode, sizeAttenuation } = this;
117114

118115
const mvPosition = modelViewMatrix.mul( vec3( positionNode || 0 ) );
119116

@@ -125,18 +122,9 @@ class SpriteNodeMaterial extends NodeMaterial {
125122

126123
}
127124

128-
if ( sizeAttenuation === false ) {
129-
130-
if ( camera.isPerspectiveCamera ) {
131-
132-
scale = scale.mul( mvPosition.z.negate() );
133-
134-
} else {
135-
136-
const orthoScale = float( 2.0 ).div( cameraProjectionMatrix.element( 1 ).element( 1 ) );
137-
scale = scale.mul( orthoScale.mul( 2 ) );
125+
if ( camera.isPerspectiveCamera && sizeAttenuation === false ) {
138126

139-
}
127+
scale = scale.mul( mvPosition.z.negate() );
140128

141129
}
142130

0 commit comments

Comments
 (0)