NVIDIA / Q2RTX

NVIDIA’s implementation of RTX ray-tracing in Quake II
Other
1.22k stars 184 forks source link

2D Explosions? No Smoke? It's time for some pull requests! #183

Closed dagelf closed 2 years ago

dagelf commented 2 years ago

It's quite sad that the purest raytracing game still has 2D explosions. This is ray traced! How hard can it be? Perhaps start with smoke and a better railgun effect, and then work our way up from there?

Beilerbey commented 2 years ago

https://github.com/NVIDIA/Q2RTX/issues/33

Paril commented 2 years ago

Finding people with relevant Vulkan experience willing to contribute to a Quake II-based open source project is a niche of a niche of a niche of a niche. If you know people who would be interested, bring 'em here, but we'll likely just be stuck with 2D sprites otherwise.

res2k commented 2 years ago

FWIW, you get the "old" explosion models back with set cl_explosion_sprites 0. I personally prefer them since they look more "3D", but it's in other aspects less detailed than the 2D sprites and certainly no "volumetric" effect.

And BTW, volumetric smoke/explosions are hard. See here: https://pbr-book.org/3ed-2018/Light_Transport_II_Volume_Rendering for an idea of what's involved. And that's for "offline" rendering only, realtime ray tracing needs layers of trickery.

apanteleev commented 2 years ago

How hard can it be?

Pretty hard, if you want the result to look natural and still be real time.

Closing the issue as not constructive.

dagelf commented 2 years ago

Come on. Fog?! I will give it a bash and I bet it can be done in less than 10 lines of code.... during my next holiday. Unless someone beats me to it.

On Wed, 23 Feb 2022 at 04:39, Alexey Panteleev @.***> wrote:

How hard can it be?

Pretty hard, if you want the result to look natural and still be real time.

Closing the issue as not constructive.

— Reply to this email directly, view it on GitHub https://github.com/NVIDIA/Q2RTX/issues/183#issuecomment-1048399984, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGD6RC6DGQ67OSUCJMWU2LU4RCGBANCNFSM5ND3PBWA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

apanteleev commented 2 years ago

Simple unlit fog is implemented (see https://github.com/NVIDIA/Q2RTX/issues/132) - and it is unlit precisely because lighting the fog with many lights is non-trivial.

Explosions and smoke are more complicated than fog because they are more dense, therefore need more accurate lighting, and then there's fluid simulation.

dagelf commented 2 years ago

Some inspiration:

image https://www.shadertoy.com/view/Xss3DS

image https://www.shadertoy.com/view/4lfSzs

image https://www.shadertoy.com/view/lsySzd

image https://www.shadertoy.com/view/4sByWz

res2k commented 2 years ago

Clearly this is a topic you're quite passionate about. Since the Q2RTX code base is open source I suggest you go and try your hand in adding this. In the best case this would result in an improvement to Q2RTX, but in any case, you'll gain practical experience and knowledge.