0
\$\begingroup\$

Specifically I'm talking about particles as seen (for example) in the UE4 dev video here. They're not just points and seem to have a nice shape to them that seems to follow their movement.

Is it possible to create these kinds of particles (efficiently) completely on the GPU (perhaps through something like motion? Or is the only (or most efficient) way to just create a small particle texture and render small quads for each particle?

\$\endgroup\$
  • \$\begingroup\$ The short answer is: Yes it's possible, and they don't have to be texture quads. Most efficient is a loaded question, though. Are you asking how it would be implemented, or just how it would differ from the smoke/fire/etc. 2d particles? \$\endgroup\$ – Seth Battin Oct 17 '13 at 16:56
  • 2
    \$\begingroup\$ Somewhat similar to this question: particles can be an arbitrary mesh, maybe procedurally generated based on velocity or whatever. Also a group of particles can be strung together and generate a mesh collectively (useful for trails and the like). \$\endgroup\$ – Nathan Reed Oct 17 '13 at 16:57
2
\$\begingroup\$

It is possible to efficiently create those particles on the GPU, The various effects are all very unique though, and mixed together to form one "effect" at times. Meaning you would have to have multiple different shaders/materials/etc for each effect. You could probably find all you need to recreate it online but it's going to be scattered and split on various websites in tutorials covering one single effect, or possibly just basics of the one effect.

The initial demonstration of one particle effect is when the glowing hammer hit's the ground. The sparks coming off of that resemble the particle-emitting spheres later on as-well. I would guess that would be done by rendering points (maybe short lines), with carefully adjusted colors. Since it's being done on the GPU, having the thousands of particles gives it that realism. They mention Vector Displacement for the physics. Otherwise, a fairly basic particle system, from what I could see.

Then there's also one later, the room filled with a bit fog. Which is used again for the lava pit just after. That's, "Volumetric Particles", as they called it. I personally would refer to it as a, "smoke simulation", or "fluid simulation", if I had to put a term to it. But that would be because I first saw such an effect in Blender3D. Which uses the Wavelet Turbulence for Fluid Simulation. Providing various densitys, and colors, to give a different appearance. Although, Unreal did have some fairly impressive lighting calculations in there.

If your asking if/how you personally can implement it, then the short answer is no. The more realistic answer is, by the time you found all the learning sources, learned the specifics of the advanced material, worked out the program flow, the project timeline, programmed it, debugged, and optimized it, it'll be old technology that someone will have been made free/open-source by that point.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.