Jump to content
The Dark Mod Forums
Sign in to follow this  
delatroy

Ray Tracing?

Recommended Posts

Played with ray tracing in minecraft this week and it blew my little mind how goes and immersive it looks. Even the most basic games look amazing. Quake 2 which originally looked horrible looks fantastic:

 



Ive read that ray tracing was already tested on the D3 engine. Is it possible to enable on TDM? Edited by delatroy
  • Like 1

Share this post


Link to post
Share on other sites

The people who implemented Ray Tracing in Doom 3 several years ago never released their source code.

 

While TDM is an Open Source project which could potentially gain these features, there are a number of stumbling

blocks that would need to be addressed.

 

1) TDM developers would need Ray Tracing hardware ( $$$ )

 

2) While Nvidia did release RTX extensions to OpenGL ( GLSL ) the draws cost would probably necessitate and move to Vulkan

 

3) The Quake approach only works due to very limited geometry. For TDM to have real-time performance, we would need to

use ray tracing samples in a "probe system"

 

4) Most of the existing code for ray tracing has been calibrated against PBR materials and workflows. We might need to mass update

materials to work better with it.

 

If Nvidia (etc) wanted to create a demo build of TDM with ray tracing, I'm sure we'd gladly look into it.


Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Hold up, nbohr. Nvidia will not be the only game in town for raytracing:

 

https://wccftech.com/amd-navi-20-radeon-rx-graphics-card-ray-tracing-gcn-architecture-rumor/

https://www.theverge.com/2019/4/16/18401209/sony-playstation-5-details-8k-graphics-ray-tracing-ssds-ps4-backward-compatibility

 

It is unknown whether the PS5's raytracing functionality will be a custom addition to AMD's Navi, but it wouldn't make much sense to spend years developing it only to keep it from the desktop GPUs for another year or two. And AMD has already hinted at a response to Nvidia's raytracing cores.

 

Not that this info changes the difficulties of adding ray tracing to TDM, but considering any ray tracing would probably take years from now to land in TDM, there will be Nvidia and AMD support for the technique... and possibly Intel.

Share this post


Link to post
Share on other sites

The game renderer itself is one thing but all the dev tools are totally another

We can't even move them to opengl core 3.3 right now

  • Like 2

Share this post


Link to post
Share on other sites

Well, the GL versions we offer depend on the number of backends we offer.

 

We'd have to make another backend: ARB ( r_useGLSL 0 ), GLSL ( r_useGLSL 1), RTX (r_useGLSL 2 ?).

 

The move to GL 3.x for the GLSL backend is a more pressing matter than "future Ray Tracing support".


Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Well, the GL versions we offer depend on the number of backends we offer.

 

We'd have to make another backend: ARB ( r_useGLSL 0 ), GLSL ( r_useGLSL 1), RTX (r_useGLSL 2 ?).

 

The move to GL 3.x for the GLSL backend is a more pressing matter than "future Ray Tracing support".

That's what I offered in the shader revamp thread but

1. the majority seems to want one backend

2. I have been going like that too in 2016 when I removed pre-GL2 code so we don't really have anything like complete ARB backend - only the interactions part of it

3. I'm not clear on availability of cross-vendor RT OpenGL extensions

4. There is backend and there's also all the tools code that calls OpenGL directly

5. The big "if" is frontend/backend interface that's unlikely to cover backends that different

Share this post


Link to post
Share on other sites

It's the first generation of cards. Companies will milk the naive enthusiasts and early adopters however they can to have more funds for further development. This is where majority of customers wait for next 1-2 generations of cards that don't run like shit with this tech.

Share this post


Link to post
Share on other sites

I brought it up originally just to hear our coder's thoughts on the concept. As mentioned in the status, I'm a big advocate for implementing (or improving) tech already very well associated to other idtech branches rather than trying to overhaul it's core architecture. We can improve things within a certain degree but at present, even if you had new tech to run TDM on; you'd have to patch the majority of our assets just to render it correctly. What I really would like to see added to TDM follows as...

-Parallax corrected cubemaps with batch node building and macro-asset assignment (possibly my most asked/requested feature).

-Optional lightmap system for BSP brushwork.

-Vertex paint mode for displacements/patches in DR.

 

I rant all the time in the TDM chat about cubemaps because it's such a powerful yet underused feature in TDM. A: it's barely accessible and B: it's current projection method limits it's practical usage. Current cubemaps do not shift via the player's spacial coordinates and they're really a damned pain to create for them to be feasible. Source Engine cubemaps weren't a great deal better in the projection side of things but the build method was 50x better than what we've got. Bare in mind it still uses player position to take the six sided snapshots but it treats the cubemap nodes (placed by the mapper) as player coordinate data to batch build all cubemaps from a single console command. Would stringing together entity positions in a batch automation be that difficult to create in our instance?

 

Lastly I bring up the cubemap assignment/usage. Probably the most painful part of our current system is it requires you to painstakingly create a new material definition for each time you want a new cubemap for a new asset position. My proposition before was to have a generic default block running a kind of if statement. Exactly as our param syntax can look for code additions, my idea was to have this generic block (in a cubemap optional material) look for a cubemap keyname. That if referenced in the model via spawnarg, the material would modify the expected path and fill in the cubemap keyname. This would mean you could have 10+ cubemaps all being based off the same parent material. No more custom MTRs for each!

All the mapper would have to do then is drop in a cubemap node, match that node's keyname to a spawnarg on said model needing reflections; then build cubemaps via console command. A fair bit of additional framework I can imagine but that is the ideal situation I could see us benefiting from as a whole. Just improving what we already have, without needing Nvidia specific hardware. ;)

  • Like 2

You need a model? Epi does you a model.



Toss me a PM I promise I don't bite.



Share this post


Link to post
Share on other sites

Well, a surrogate of "complete raytracing" can already be done with the screenspace limit without any special hardware or API extension :P

 

https://reshade.me/forum/general-discussion/214-screenshot-thread?start=3640#33356

Edited by lowenz
  • Like 1

Task is not so much to see what no one has yet seen but to think what nobody has yet thought about that which everybody see. - E.S.

Share this post


Link to post
Share on other sites

I tend to think of (Spherical Harmonic) probes and HL2 env_cubemaps as parallel concepts.

I guess they are both "probes" but it's easier to use probes as a nickname for spherical harmonics.

 

(Spherical Harmonic) Probes are more data efficient but Cubemaps are easier to conceptualize for both coders and artists.

Humus (Emil Persson) the engine designer of the Just Cause series games (and pioneer of many OpenGL and D3D techniques)

would even complain on Beyond3D that he didn't quite understand how Spherical Harmonics works so he shied away from them.

 

Either way, having a probe or env_cubemap system in place would be a "good thing" for upgrading our GI system

over the ambient_world we currently use and would be a stepping stone to allow ray traced GI.

 

Pairing a probe GI system with really good SSAO would also give us a visual upgrade about 75% as good as a ray traced solution.

 

Whether we want the extra 25% for the performance cost it would incur is up for debate but if the hardware manufacturers start

dedicating most of the GPU die area to ray tracing we may (in the long term) need to move TDM in that direction anyway lest we

be stuck with (approx) 2019 scene complexity for eternity.

  • Like 1

Please visit TDM's IndieDB site and help promote the mod:

 

http://www.indiedb.com/mods/the-dark-mod

 

(Yeah, shameless promotion... but traffic is traffic folks...)

Share this post


Link to post
Share on other sites

Is for duzenko and the other engine coders to decide, because they will be the ones doing it but IMO forget ray tracing, at least for now, is still way performance hungry.

 

IMO the engine team could implement other stuff, at least to me equally visually augmenting like HDR, AO and improve the new volumetric rays performance so it gets out of the "high end" space and perhaps someday implement PBR, just this stuff will make TDM look modern for years to come. Of course also the stuff Epifire talked about.

 

Not to mention DR, it could be improved even further making its internal render really "WYSIWYG".

 

Of course this is stuff you guys already know.

Share this post


Link to post
Share on other sites

Is for duzenko and the other engine coders to decide, because they will be the ones doing it but IMO forget ray tracing, at least for now, is still way performance hungry.

 

Check back in 5 years.

 

We know that GPU performance scales better than CPU performance as die shrinks happen and more cores are added. TSMC's 7nm and 5nm nodes offer huge area reduction (greater transistor density) over preceding nodes (see table).

 

Then you have this leaked info about Intel's GPU plans. It looks like they will take the multi-chip module (MCM) approach that has worked very well for AMD's Ryzen/Threadripper/Epyc chips and apply it to GPUs. Without knowing the final numbers, the idea is that it's easier to make something like a 1,600 mm2 GPU out of four 400 mm2 dies than it would be to make a single monolithic 800 mm2 GPU die, because yields are much better for the smaller dies:

 

https://wccftech.com/intel-xe-unleashed-gpu-lineup-leaked-xe-power-2-flagship-graphics-card-roadmap-and-more/

 

Obviously, Nvidia and AMD will follow suit. You can even find the research on the topic.

 

TSMC is also working on wafer-on-wafer designs that could stack 2 layers of whatever. In the case of high-end CPUs and GPUs, that might mean a layer of DRAM rather than a doubling of cores. This is an intermediate step before the tight integration of DRAM with cores which could speed up CPUs by 1-3 orders of magnitude (not sure about GPUs).

 

As for ray tracing, Nvidia has dedicated a certain amount of the die for ray tracing cores that are apparently only good for ray tracing and machine learning applications. They will definitely increase the amount of ray tracing cores if that is determined to be the future of graphics (seems likely). It's unclear what AMD or Intel's approach to the problem will be, but we could find within the next year. Maybe you don't need to set aside die space just for ray tracing if you do it right.

Edited by jaxa
  • Like 1

Share this post


Link to post
Share on other sites

 

Check back in 5 years.

 

...

 

I will certainly, ;) because personally I will not buy a raytracing GPU anytime soon (unless the one I already have supports dx12 raytracing) but that is 5 years, where many TDM users, would be unable to experience the game, raytraced, with good performance or at all (AMD/Intel users), at the time of this comment you still need a very expensive Nvidia GPU to play the few available games at 60 fps at 1080p forget 4k, so I ask, are people really willing to go to console like speeds, just to have better lighting in games? Personally I'm not, I love my 60fps.

 

I certainly expect AMD and specially Intel, the ones pushing for raytracing with Larrabee to get on the raytracing bandwagon soon, is just inevitable, I still think it is not something that will benefit TDM gameplay BUT a do concur that it would be a big publicity push for the game, there's so few raytracing games out there that if TDM add it, we would have a bunch of people downloading it fast. :P

Edited by HMart
  • Like 1

Share this post


Link to post
Share on other sites

IMO, if anything, raytracing will make lighting pass in TDM much harder, due to "realistic" light bounces and lesser degree of control. The lighting quality itself would skyrocket, obviously, but since it's also a gameplay component, it has to be more controllable than lighting that has merely an aesthetic function.

  • Like 3

Share this post


Link to post
Share on other sites

Ray Tracing is just a failed SSAO trying its best to hide from its actual absolute ugliness.

 

I know I'm being an absolute strawman, this is just a satire.

 

My problem with Ray Tracing is that, as some people mentioned here, it is not even new at all (It was known as far as in 2012) and it only is so because Nvidia supposedly found ways to make it run fast on their VGAs...I don't get it, people nowadays enjoy more than 120 FPS, some are zealots when it comes to 144hz, maybe they're right, maybe they're senile, but honestly; all zealotry is bullshit.

(To elaborate, the RTX 2070 can't even run RTX at stable 60 FPS, it flunctuates between 54 if lucky to as low as 15, same with the RTX 2080)

 

Ray-Tracing is not a bad thing, it's GREAT, but for now, it's THE WORST. Yet again just like some of you said, we oughta wait way more years than just one to finally see a difference and it becoming standard issue.

 

By the way, I own an RTX 2070 myself, it was cheaper than a GTX 1080 so I just went for it :D If you TDM boys are this crazy to try adding Ray-Tracing into TDM, do tell me.

  • Like 1

Share this post


Link to post
Share on other sites

When talking about future features its hard to make a distinction between broad advancements we would personally like to have (as something that would modernize the game) and things that will actually have a significant, needed impact on the way the game plays. We would obviously love to see all sorts of things added to tdm, but the game has a lot of legacy, and we simply dont have the manpower... Still, anything that adds to the way light works in the game carries a lot of potential and relevance, as it is the single most important factor for tdm. Making lighting more interesting, more realistic, will always be worthwhile. If its a true raytracing method or a probe gi system like nbhor mentioned, that would be absolutely insane to have, for sure.

 

Having said that, we should probably focus on the latter type of features, as they seem more attainable. For example, improving the idtech4 physics system would open entire avenues in terms of what mappers would be able to do, and how players interact with the world inside the game. We have plenty of examples of that in HL2, or Dark Messiah. TDM would benefit greatly from having a more interactive world, enhancing its stabilished style perfectly. Feathered alpha textures and better lod mechanics would allow for vast, good looking outdoors maps, making it worthwhile for mappers and contributors to explore that pathway, of having a sneaking experience that is not limited to the inside of buildings. Right now our nature assets are very basic and there are no open maps as far as Im aware, apart from the first section of winter harvest. Volumetric lights are not only for eye candy, coupled with parallel lights it would open the way for indoors missions that happen during day time, where you have to avoid the light beams coming through the windows, cracked walls or ceilings. It seems important for me that these features are,as far as possible, all part of the "engine", in a way that they work without having to be propped up by the mapper for each individual situation, in a painful, complex process that many will never dare go through. Thats pretty important for mappers. So new features also need to worry about being mapper-friendly if they really are to have an impact. Projected shadow lights and the color grading code have seen very little use so far if any, even though they are really cool, perhaps for the simple fact that they are not integrated in the game, and most people might not even know they exist.

Edited by RPGista
  • Like 1

Share this post


Link to post
Share on other sites

My problem with Ray Tracing is that, as some people mentioned here, it is not even new at all (It was known as far as in 2012) and it only is so because Nvidia supposedly found ways to make it run fast on their VGAs...

 

Correct me if I'm wrong, but the #1 new thing with Nvidia's approach (as in, not available at the time of their 2012 demo) is the machine learning denoising algorithm. Basically the idea is that you run low complexity ray tracing and clean it up with the denoising algorithm. This can be done in real time (milliseconds), vs. potentially minutes or hours for the real deal. Other denoising algorithms have been around, but using recurrent neural networks is a big improvement, enough for Nvidia to decide to deploy and market it with their 2000-series GPUs (overpriced and underwhelming as they may be).

 

 

If you are not using ray tracing for the entire scene, you could break the problem into smaller problems and just use it for water, reflective surfaces, shadows, global illumination, etc.:

 

https://www.nvidia.com/en-us/geforce/news/geforce-gtx-dxr-ray-tracing-available-now/

Share this post


Link to post
Share on other sites

Using RayTracing for reflections would already be a huge step. The full package with RayTracing isnt even known yet and the technique is super young.
We know how todo rendering with it... but we never dealth with frame steps before like this.


Can we have more scary Zombie Horror maps?

Share this post


Link to post
Share on other sites

What about light-backing into scenes, only apply it non-moving, non-extinguishable light sources etc like its done in the dark engine. Or is this something that we could with a cubemap..?

Share this post


Link to post
Share on other sites

What about light-backing into scenes, only apply it non-moving, non-extinguishable light sources etc like its done in the dark engine. Or is this something that we could with a cubemap..?

 

I think you mean static light maps (light is just baked into the textures), TDM engine doesn't support light maps out of the box, is totally possible to make light mapped scenes in TDM but requires a bunch of manual work and to render&bake the light maps in Blender for example. Is also totally possible to use cubemaps to do static light maps, just search for Quake 4 Strombine but also requires a bunch of manual work, it does look cool.

Edited by HMart

Share this post


Link to post
Share on other sites

Does that work with any GPU? And based on the video it makes the scene a tad to dark, seems to be more a AO solution than a Global illumination one.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...