ModelViewProjectionNode.js 687 B

1234567891011121314151617181920212223242526272829
  1. import Node, { addNodeClass } from '../core/Node.js';
  2. import { cameraProjectionMatrix } from './CameraNode.js';
  3. import { modelViewMatrix } from './ModelNode.js';
  4. import { positionLocal } from './PositionNode.js';
  5. import { nodeProxy } from '../shadernode/ShaderNode.js';
  6. class ModelViewProjectionNode extends Node {
  7. constructor( positionNode = positionLocal ) {
  8. super( 'vec4' );
  9. this.positionNode = positionNode;
  10. }
  11. construct() {
  12. return cameraProjectionMatrix.mul( modelViewMatrix ).mul( this.positionNode );
  13. }
  14. }
  15. export default ModelViewProjectionNode;
  16. export const modelViewProjection = nodeProxy( ModelViewProjectionNode );
  17. addNodeClass( ModelViewProjectionNode );