ModelNode.js 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. import Object3DNode from './Object3DNode.js';
  2. import { addNodeClass } from '../core/Node.js';
  3. import { nodeImmutable } from '../shadernode/ShaderNode.js';
  4. class ModelNode extends Object3DNode {
  5. constructor( scope = ModelNode.VIEW_MATRIX ) {
  6. super( scope );
  7. }
  8. update( frame ) {
  9. this.object3d = frame.object;
  10. super.update( frame );
  11. }
  12. }
  13. export default ModelNode;
  14. export const modelDirection = nodeImmutable( ModelNode, ModelNode.DIRECTION );
  15. export const modelViewMatrix = nodeImmutable( ModelNode, ModelNode.VIEW_MATRIX ).label( 'modelViewMatrix' ).temp( 'ModelViewMatrix' );
  16. export const modelNormalMatrix = nodeImmutable( ModelNode, ModelNode.NORMAL_MATRIX );
  17. export const modelWorldMatrix = nodeImmutable( ModelNode, ModelNode.WORLD_MATRIX );
  18. export const modelPosition = nodeImmutable( ModelNode, ModelNode.POSITION );
  19. export const modelScale = nodeImmutable( ModelNode, ModelNode.SCALE );
  20. export const modelViewPosition = nodeImmutable( ModelNode, ModelNode.VIEW_POSITION );
  21. addNodeClass( 'ModelNode', ModelNode );