-
-
Notifications
You must be signed in to change notification settings - Fork 12
feat: Perlin Noise derivatives #1457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
pkg.pr.new packages
benchmark commit |
}); | ||
|
||
const mainCompute = tgpu['~unstable'].computeFn({ | ||
workgroupSize: [1, 1, 1], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should consider making this more than one - if we look at our examples (game of life and fluid with atomics) there are significant performance gains when using higher workgroup sizes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should benchmark this but I think having workgroups at least a wavefront size (64 - which is 2 warps) with boundary checks inside the shader will be universally more performant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's try to make this a separate PR. Could you try this out @reczkok?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will create a task for it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work!
Changes:
Configurable
typeperlin2d.sampleWithGradient
with also returns the first derivative of the noise function (analytical solution)Changes to CI: