Skip to content

Commit 79e7f87

Browse files
authored
TSL: Introduce modelWorldMatrixInverse (#28433)
1 parent 6ac1398 commit 79e7f87

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

examples/jsm/nodes/Nodes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ export { default as MaterialReferenceNode, materialReference } from './accessors
9090
export { default as RendererReferenceNode, rendererReference } from './accessors/RendererReferenceNode.js';
9191
export { default as MorphNode, morphReference } from './accessors/MorphNode.js';
9292
export { default as TextureBicubicNode, textureBicubic } from './accessors/TextureBicubicNode.js';
93-
export { default as ModelNode, modelDirection, modelViewMatrix, modelNormalMatrix, modelWorldMatrix, modelPosition, modelViewPosition, modelScale } from './accessors/ModelNode.js';
93+
export { default as ModelNode, modelDirection, modelViewMatrix, modelNormalMatrix, modelWorldMatrix, modelPosition, modelViewPosition, modelScale, modelWorldMatrixInverse } from './accessors/ModelNode.js';
9494
export { default as ModelViewProjectionNode, modelViewProjection } from './accessors/ModelViewProjectionNode.js';
9595
export * from './accessors/NormalNode.js';
9696
export { default as Object3DNode, objectDirection, objectViewMatrix, objectNormalMatrix, objectWorldMatrix, objectPosition, objectScale, objectViewPosition } from './accessors/Object3DNode.js';

examples/jsm/nodes/accessors/ModelNode.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import Object3DNode from './Object3DNode.js';
22
import { addNodeClass } from '../core/Node.js';
33
import { nodeImmutable } from '../shadernode/ShaderNode.js';
4+
import { uniform } from '../core/UniformNode.js';
5+
import { Matrix4 } from 'three';
46

57
class ModelNode extends Object3DNode {
68

@@ -29,5 +31,6 @@ export const modelWorldMatrix = nodeImmutable( ModelNode, ModelNode.WORLD_MATRIX
2931
export const modelPosition = nodeImmutable( ModelNode, ModelNode.POSITION );
3032
export const modelScale = nodeImmutable( ModelNode, ModelNode.SCALE );
3133
export const modelViewPosition = nodeImmutable( ModelNode, ModelNode.VIEW_POSITION );
34+
export const modelWorldMatrixInverse = uniform( new Matrix4() ).onObjectUpdate( ( { object }, self ) => self.value.copy( object.matrixWorld ).invert() );
3235

3336
addNodeClass( 'ModelNode', ModelNode );

0 commit comments

Comments
 (0)