This special version of a texture node can be used to write data into a storage texture with a compute shader.
const storageTexture = new THREE.StorageTexture( width, height );
const computeTexture = Fn( ( { storageTexture } ) => {
const posX = instanceIndex.mod( width );
const posY = instanceIndex.div( width );
const indexUV = uvec2( posX, posY );
// generate RGB values
const r = 1;
const g = 1;
const b = 1;
textureStore( storageTexture, indexUV, vec4( r, g, b, 1 ) ).toWriteOnly();
} );
const computeNode = computeTexture( { storageTexture } ).compute( width * height );
renderer.computeAsync( computeNode );
export {}This node can only be used with a WebGPU backend.
Constructor
new StorageTextureNode(value, uvNode, storeNode?)| Parameter | Type | Default Value |
|---|---|---|
| value | StorageTexture | — |
| uvNode | Node<vec2|vec3> | — |
| storeNode? | null | Node | null |
Constructs a new storage texture node.
| Accessor | Type | |
|---|---|---|
| get type | string | |
Properties
| Property | Type | Default Value | |
|---|---|---|---|
| storeNode | null | Node | — | |
| mipLevel | number | — | |
| isStorageTextureNode | boolean | — | |
| access | string | — | |
| Method | Type | |
|---|---|---|
| getInputType | () => string | |
| setup | (builder: any) => any | |
| setAccess | (value: string) => StorageTextureNode | |
| setMipLevel | (level: number) => StorageTextureNode | |
| generate | (builder: NodeBuilder, output: string) => string | |
| generateSnippet | (builder: NodeBuilder, textureProperty: string, uvSnippet: string, levelSnippet: null | string, biasSnippet: null | string, depthSnippet: null | string, compareSnippet: null | string, gradSnippet: null | Array<…>, offsetSnippet: null | string) => string | |
| toReadWrite | () => StorageTextureNode | |
| toReadOnly | () => StorageTextureNode | |
| toWriteOnly | () => StorageTextureNode | |
| generateStore | (builder: NodeBuilder) => void | |
| clone | () => TextureNode | |
Extends
TextureNodeTSL function for creating a storage texture node.
| Parameter | Type | Default Value |
|---|---|---|
| value | StorageTexture | — |
| uvNode | Node<vec2|vec3> | — |
| storeNode? | Node | — |
Returns
StorageTextureNodeTODO: Explain difference to storageTexture().
| Parameter | Type | Default Value |
|---|---|---|
| value | StorageTexture | — |
| uvNode | Node<vec2|vec3> | — |
| storeNode? | null | Node | null |
Returns
StorageTextureNode