1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import { addNodeClass } from '../core/Node.js';
- import { nodeProxy, addNodeElement } from '../shadernode/ShaderNode.js';
- import ArrayElementNode from './ArrayElementNode.js';
- class StorageArrayElementNode extends ArrayElementNode {
- constructor( storageBufferNode, indexNode ) {
- super( storageBufferNode, indexNode );
- this.isStorageArrayElementNode = true;
- }
- set storageBufferNode( value ) {
- this.node = value;
- }
- get storageBufferNode() {
- return this.node;
- }
- generate( builder ) {
- let snippet;
- if ( builder.isAvailable( 'storageBuffer' ) === false ) {
- snippet = this.node.build( builder );
- } else {
- snippet = super.generate( builder );
- }
- return snippet;
- }
- }
- export default StorageArrayElementNode;
- export const storageElement = nodeProxy( StorageArrayElementNode );
- addNodeElement( 'storageElement', storageElement );
- addNodeClass( 'StorageArrayElementNode', StorageArrayElementNode );
|