mirror of
https://github.com/jiawanlong/Cesium-Examples.git
synced 2025-07-06 08:17:31 +00:00
30 lines
687 B
JavaScript
30 lines
687 B
JavaScript
import Node, { addNodeClass } from '../core/Node.js';
|
|
import { cameraProjectionMatrix } from './CameraNode.js';
|
|
import { modelViewMatrix } from './ModelNode.js';
|
|
import { positionLocal } from './PositionNode.js';
|
|
import { nodeProxy } from '../shadernode/ShaderNode.js';
|
|
|
|
class ModelViewProjectionNode extends Node {
|
|
|
|
constructor( positionNode = positionLocal ) {
|
|
|
|
super( 'vec4' );
|
|
|
|
this.positionNode = positionNode;
|
|
|
|
}
|
|
|
|
construct() {
|
|
|
|
return cameraProjectionMatrix.mul( modelViewMatrix ).mul( this.positionNode );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export default ModelViewProjectionNode;
|
|
|
|
export const modelViewProjection = nodeProxy( ModelViewProjectionNode );
|
|
|
|
addNodeClass( ModelViewProjectionNode );
|