Skip to main content
Requests for links to off-site resources aren't on-topic. Questions here should be answered here.
Source Link
DMGregory
  • 136.3k
  • 22
  • 247
  • 373

I've made a fluid simulation using particles in Unity, but now it is painfully slow because all computations are done using the CPU. In order to make it faster, I need to do computations on the GPU, and I learned that I would have to use compute shaders for that.

The problem is, to make a fluid simulation, I need to make and track each particle and perform collisions on each of them on a certain time interval, and I don't understand how this could be achieved using shaders when the concept of shaders (from what I currently understand) is performing calculations on one already made mesh. Also, I'm using prebuilt physics calculations (rigidbody) in Unity, and would using shaders mean that I would not be able to use these?

I would like some basic instructions on where I could start -- possibly links to articles or videos or simple explanation of shader programmmingHow can I would have to learn. Just learning compute shaders are not helping since they aren't usually used formake this purpose. I am willing to learn if I just know where to start...

Thank you, and sorry if the question sounds stupid; I almost have no knowledge in shaders as of right now.effect more efficient?

I've made a fluid simulation using particles in Unity, but now it is painfully slow because all computations are done using the CPU. In order to make it faster, I need to do computations on the GPU, and I learned that I would have to use compute shaders for that.

The problem is, to make a fluid simulation, I need to make and track each particle and perform collisions on each of them on a certain time interval, and I don't understand how this could be achieved using shaders when the concept of shaders (from what I currently understand) is performing calculations on one already made mesh. Also, I'm using prebuilt physics calculations (rigidbody) in Unity, and would using shaders mean that I would not be able to use these?

I would like some basic instructions on where I could start -- possibly links to articles or videos or simple explanation of shader programmming I would have to learn. Just learning compute shaders are not helping since they aren't usually used for this purpose. I am willing to learn if I just know where to start...

Thank you, and sorry if the question sounds stupid; I almost have no knowledge in shaders as of right now.

I've made a fluid simulation using particles in Unity, but now it is painfully slow because all computations are done using the CPU. In order to make it faster, I need to do computations on the GPU, and I learned that I would have to use compute shaders for that.

The problem is, to make a fluid simulation, I need to make and track each particle and perform collisions on each of them on a certain time interval, and I don't understand how this could be achieved using shaders when the concept of shaders (from what I currently understand) is performing calculations on one already made mesh. Also, I'm using prebuilt physics calculations (rigidbody) in Unity, and would using shaders mean that I would not be able to use these?

How can I make this effect more efficient?

Source Link
UserUser
  • 171
  • 1
  • 10

Computations in GPU Unity

I've made a fluid simulation using particles in Unity, but now it is painfully slow because all computations are done using the CPU. In order to make it faster, I need to do computations on the GPU, and I learned that I would have to use compute shaders for that.

The problem is, to make a fluid simulation, I need to make and track each particle and perform collisions on each of them on a certain time interval, and I don't understand how this could be achieved using shaders when the concept of shaders (from what I currently understand) is performing calculations on one already made mesh. Also, I'm using prebuilt physics calculations (rigidbody) in Unity, and would using shaders mean that I would not be able to use these?

I would like some basic instructions on where I could start -- possibly links to articles or videos or simple explanation of shader programmming I would have to learn. Just learning compute shaders are not helping since they aren't usually used for this purpose. I am willing to learn if I just know where to start...

Thank you, and sorry if the question sounds stupid; I almost have no knowledge in shaders as of right now.