ModelNode.js 1.0 KB

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