u/maximoriginalcoffee

2017, Gangnam.
▲ 21 r/SouthKoreaPics+1 crossposts

2017, Gangnam.

This is a photo from 2017, taken near Yeoksam Station in Gangnam-gu. I took it on my way home from work at the time. The Starbucks is still there, but the building next to it was demolished and replaced with a new one. It was a day with a very beautiful sky.

u/maximoriginalcoffee — 1 day ago
▲ 35 r/gameenginedevs+1 crossposts

GPU particle system.

I added a GPU-accelerated pipeline to the particle system.

The video is a test where about 1,275 CPU particles and 1,275 GPU particles are spawned continuously at the same time.

At the moment of particle launch, the particle data to be emitted is generated on the CPU and sent to the GPU’s particle launch buffer. The launch buffer then appends its particles to the particle update buffer. From that point on, particle updates and destruction are handled entirely on the GPU via compute shaders. Currently, the particle buffer is set to 300,000 particles and the launch buffer to 50,000. This particle buffer set uses about 37 MB of video memory. I’ll need to fine-tune the buffer sizes later, but this is roughly how it looks for now. Since it was written based on DirectX 11, mesh shaders were not used.

Of course, there are drawbacks. Alpha sorting is one issue. In particular, CPU particles support features similar to animation tracks—such as UV, alpha, color, and refraction tracks—that are updated over time. However, I excluded all of these track features for GPU particles. (It’s possible to implement them, but the memory overhead would be too large to justify.)

As a result, particles with strong artistic direction are handled as CPU particles, while particles that rely on sheer quantity are handled as GPU particles.

This text was translated using ChatGPT.

u/maximoriginalcoffee — 4 days ago