WebGLNodeBuilder: Move sizeNode under positionNode #23043
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I faced a "race condition" bug while using
PointsNodeMaterial
withpositionNode
+sizeNode
.How:
I was changing the position of each points with a couple nodes, then I re-used one of those nodes inside the node hierarchy of my
sizeNode
.Result:
The position of each points was 0,0,0 because, in the resulting shader code, every variables generated by my nodes where appended where the size is defined (after
gl_PointSize = size;
), therefore the position definition above was referencing a variable that is not yet set (something like this:transformed = nodeVar7;
), therefore the position was not set.I wonder if there could be other race conditions like this ? Would it be a good idea to always put all variables at the top instead ?
cc @sunag