Skip to content
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

Compute shaders #25

Open
jim-ec opened this issue Jun 22, 2023 · 3 comments
Open

Compute shaders #25

jim-ec opened this issue Jun 22, 2023 · 3 comments

Comments

@jim-ec
Copy link

jim-ec commented Jun 22, 2023

This crate would be perfect for prototyping compute shaders!

I am trying to write a fluid simulation. While the initial CPU-based approach works great, it is just not performant enough. Therefore I want to port it to a compute shader implementation. The problem with compute shaders is the same as vertex/fragment shaders: It is nearly impossible to debug them! Therefore, it would be awesome if this crate would support a compute pipeline with work groups, storage buffers, work group memory, etc. This would allow me to author an algorithm which is suited for a GPU all without loosing debugging capabilities.

@zesterer
Copy link
Owner

The difficulty here is that euc supports any valid Rust code in the shader implementation so there's no real way to encourage users to 'write for the GPU', as it were.

(I also don't personally know enough about compute shaders specifically to come up with a good model for this, but I guess that's par-for-the-course)

@jim-ec
Copy link
Author

jim-ec commented Jun 22, 2023

That's actually even better, because it allows to adapt an algorithm for the GPU progressively. If I have time I can actually look into this myself, but I'll probably better wait for the refactoring branch to be merged anyway.

@zesterer
Copy link
Owner

zesterer commented Jun 22, 2023

The refactor branch is perhaps 99% there, and is basically fine to work from, I just need to find the time/energy to write a good line rasterizer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants