Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions examples/jsm/inspector/tabs/Settings.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Parameters } from './Parameters.js';
import { WebGPURenderer, WebGLBackend } from 'three/webgpu';
import { WebGPURenderer, WebGLBackend, Node } from 'three/webgpu';

const _init = WebGPURenderer.prototype.init;

Expand Down Expand Up @@ -45,7 +45,8 @@ function loadState() {
}

const state = {
forceWebGL: settings.forceWebGL || false
forceWebGL: settings.forceWebGL || false,
captureStackTrace: settings.captureStackTrace || false
};

return state;
Expand Down Expand Up @@ -79,6 +80,14 @@ if ( state.forceWebGL ) {

}

if ( state.captureStackTrace ) {

Node.captureStackTrace = true;

}

//

class Settings extends Parameters {

constructor() {
Expand All @@ -98,6 +107,15 @@ class Settings extends Parameters {

} );

rendererGroup.add( state, 'captureStackTrace' ).name( 'Capture Stack Trace' ).onChange( ( enable ) => {

Node.captureStackTrace = enable;
saveState( state );

location.reload();

} );

}

}
Expand Down
2 changes: 2 additions & 0 deletions examples/webgpu_loader_materialx.html
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,8 @@

}

await renderer.compileAsync( model, camera, scene );

}

function addGUI() {
Expand Down
1 change: 0 additions & 1 deletion src/nodes/Nodes.js
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,6 @@ export { default as LoopNode } from './utils/LoopNode.js';
export { default as MaxMipLevelNode } from './utils/MaxMipLevelNode.js';
export { default as MemberNode } from './utils/MemberNode.js';
export { default as ReflectorNode } from './utils/ReflectorNode.js';
export { default as RemapNode } from './utils/RemapNode.js';
export { default as RotateNode } from './utils/RotateNode.js';
export { default as RTTNode } from './utils/RTTNode.js';
export { default as SampleNode } from './utils/SampleNode.js';
Expand Down
2 changes: 1 addition & 1 deletion src/nodes/TSL.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export * from './utils/MatcapUV.js';
export * from './utils/MaxMipLevelNode.js';
export * from './utils/Oscillators.js';
export * from './utils/Packing.js';
export * from './utils/RemapNode.js';
export * from './utils/Remap.js';
export * from './utils/UVUtils.js';
export * from './utils/SpriteUtils.js';
export * from './utils/ViewportUtils.js';
Expand Down
12 changes: 9 additions & 3 deletions src/nodes/accessors/BufferAttributeNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,8 @@ class BufferAttributeNode extends InputNode {
*/
getHash( builder ) {

let id;

if ( this.bufferStride === 0 && this.bufferOffset === 0 ) {

let bufferData = builder.globalCache.getData( this.value );
Expand All @@ -179,11 +181,15 @@ class BufferAttributeNode extends InputNode {

}

return bufferData.node.uuid;
id = bufferData.node.id;

} else {

id = this.id;

}

return this.uuid;
return String( id );

}

Expand All @@ -194,7 +200,7 @@ class BufferAttributeNode extends InputNode {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The node type.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

if ( this.bufferType === null ) {

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/accessors/Object3DNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class Object3DNode extends Node {
*
* @return {('mat4'|'vec3'|'float')} The node type.
*/
getNodeType() {
generateNodeType() {

const scope = this.scope;

Expand Down
4 changes: 2 additions & 2 deletions src/nodes/accessors/ReferenceBaseNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ class ReferenceElementNode extends ArrayElementNode {
*
* @return {string} The node type.
*/
getNodeType() {
generateNodeType() {

return this.referenceNode.uniformType;

Expand Down Expand Up @@ -230,7 +230,7 @@ class ReferenceBaseNode extends Node {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The node type.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

if ( this.node === null ) {

Expand Down
8 changes: 4 additions & 4 deletions src/nodes/accessors/ReferenceNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class ReferenceElementNode extends ArrayElementNode {
*
* @return {string} The node type.
*/
getNodeType() {
generateNodeType() {

return this.referenceNode.uniformType;

Expand All @@ -71,8 +71,8 @@ class ReferenceElementNode extends ArrayElementNode {
generate( builder ) {

const snippet = super.generate( builder );
const arrayType = this.referenceNode.getNodeType();
const elementType = this.getNodeType();
const arrayType = this.referenceNode.getNodeType( builder );
const elementType = this.getNodeType( builder );

return builder.format( snippet, arrayType, elementType );

Expand Down Expand Up @@ -296,7 +296,7 @@ class ReferenceNode extends Node {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The node type.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

if ( this.node === null ) {

Expand Down
14 changes: 10 additions & 4 deletions src/nodes/accessors/StorageBufferNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,8 @@ class StorageBufferNode extends BufferNode {
*/
getHash( builder ) {

let id;

if ( this.bufferCount === 0 ) {

let bufferData = builder.globalCache.getData( this.value );
Expand All @@ -182,11 +184,15 @@ class StorageBufferNode extends BufferNode {

}

return bufferData.node.uuid;
id = bufferData.node.id;

} else {

id = this.id;

}

return this.uuid;
return String( id );

}

Expand Down Expand Up @@ -317,7 +323,7 @@ class StorageBufferNode extends BufferNode {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The node type.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

if ( this.structTypeNode !== null ) {

Expand All @@ -327,7 +333,7 @@ class StorageBufferNode extends BufferNode {

if ( builder.isAvailable( 'storageBuffer' ) || builder.isAvailable( 'indirectStorageBuffer' ) ) {

return super.getNodeType( builder );
return super.generateNodeType( builder );

}

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/accessors/TextureNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ class TextureNode extends UniformNode {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The node type.
*/
getNodeType( /*builder*/ ) {
generateNodeType( /*builder*/ ) {

if ( this.value.isDepthTexture === true ) return 'float';

Expand Down
4 changes: 2 additions & 2 deletions src/nodes/accessors/UniformArrayNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class UniformArrayElementNode extends ArrayElementNode {
generate( builder ) {

const snippet = super.generate( builder );
const type = this.getNodeType();
const type = this.getNodeType( builder );
const paddedType = this.node.getPaddedType();

return builder.format( snippet, paddedType, type );
Expand Down Expand Up @@ -135,7 +135,7 @@ class UniformArrayNode extends BufferNode {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The node type.
*/
getNodeType( /*builder*/ ) {
generateNodeType( /*builder*/ ) {

return this.paddedType;

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/code/FunctionCallNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ class FunctionCallNode extends TempNode {
* @param {NodeBuilder} builder - The current node builder.
* @returns {string} The type of this node.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

return this.functionNode.getNodeType( builder );

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/code/FunctionNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class FunctionNode extends CodeNode {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The type.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

return this.getNodeFunction( builder ).type;

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/ArrayNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ class ArrayNode extends TempNode {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The type of the node.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

if ( this.nodeType === null ) {

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/AssignNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ class AssignNode extends TempNode {

}

getNodeType( builder, output ) {
generateNodeType( builder, output ) {

return output !== 'void' ? this.targetNode.getNodeType( builder ) : 'void';

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/AttributeNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class AttributeNode extends Node {

}

getNodeType( builder ) {
generateNodeType( builder ) {

let nodeType = this.nodeType;

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/BypassNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ class BypassNode extends Node {

}

getNodeType( builder ) {
generateNodeType( builder ) {

return this.outputNode.getNodeType( builder );

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/ContextNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class ContextNode extends Node {
* @param {NodeBuilder} builder - The current node builder.
* @return {string} The node type.
*/
getNodeType( builder ) {
generateNodeType( builder ) {

return this.node.getNodeType( builder );

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/InputNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class InputNode extends Node {

}

getNodeType( /*builder*/ ) {
generateNodeType( /*builder*/ ) {

if ( this.nodeType === null ) {

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/InspectorNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ class InspectorNode extends Node {
* @param {NodeBuilder} builder - The node builder.
* @returns {string}
*/
getNodeType( builder ) {
generateNodeType( builder ) {

return this.node.getNodeType( builder );

Expand Down
2 changes: 1 addition & 1 deletion src/nodes/core/IsolateNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class IsolateNode extends Node {

}

getNodeType( builder ) {
generateNodeType( builder ) {

const previousCache = builder.getCache();
const cache = builder.getCacheFromNode( this, this.parent );
Expand Down
Loading
Loading