id Tech Forums

id Tech 4 (Doom3/Prey/Q4) => id Tech 4 Engine Coding => Topic started by: nbohr1more on September 21, 2014, 04:35:38 PM

Title: POM
Post by: nbohr1more on September 21, 2014, 04:35:38 PM
As a curiosity, has anyone tried the following comparison:

1) Large scene, lots of dense geometry, reasonable number of lights

vs

2) Large scene, low geometry, lots of POM displacement surfaces, reasonable number of lights

I think one of the biggest bottlenecks for rendering in vanilla Doom 3 is CPU Skinning (pushing all that
geometry data over the memory bus).

If all polygon counts were decimated to their lowest logical representation and all detail geometry was built in
the fragment shader via POM would such scenes perform better? Where is the tradeoff point?
Title: Re: POM
Post by: argoon on September 21, 2014, 05:15:44 PM
GPU's are very fast at crunching polys but very bad at rendering shaders, so i think the scene with POM would be much less performant than using real geometry. That is why tessellation is so hyped on new GPU's and not POM or any other similar tech.   
Title: Re: POM
Post by: nbohr1more on September 21, 2014, 06:48:45 PM
Well, sure, Tessellation is the best way of course.

The problem there is that you'd basically have to forgo normal maps as they rely on the underlying geometry to
get the normals correct (or develop some sorta dynamic normal map manipulation method).

But that's in the general case where the engine properly does all geometry on the GPU. With Doom 3's heavy CPU bound
geometry methods perhaps POM comes out as a win anyway.

That said, tessellation would also bypass some of CPU overhead since (again) you could send a minimal skinned data-set
which would then be amplified on-GPU. Though geometry shaders would be a better approach there (there is some blurring of terminology
in those realms...).
Title: Re: POM
Post by: Bladeghost on September 21, 2014, 07:16:42 PM
POM is (Parallax Occlusion Mapping) correct? not (Party On man) just kiddin' :)
This engine still has great stuff unexplored.
Title: Re: POM
Post by: nbohr1more on September 22, 2014, 02:47:14 PM
That reply is top-notch Bladeghost. :)

I'm using POM as Party on Man from this day forward...
Title: Re: POM
Post by: nbohr1more on September 23, 2014, 08:33:00 AM
On consideration, neither POM nor geometry shaders would likely come out as a win since they couldn't take advantage of cache
and would need to be generated for every frame. Oh well.
Title: Re: POM
Post by: The Happy Friar on September 23, 2014, 09:15:17 AM
Darkplaces has parallax/offset & relief mapping.  Not sure what the difference between parallax occlusion & just parallax mapping but (this is years ago now) the level of detail done with the parallax/relief mapping I saw in that engine was higher then even games I see now.  the Quake 10 Year project showcased this years ago: https://web.archive.org/web/20070810013308/http://www.quakeexpo.com/booth.php?id=107

I got to see that in action in 2006, it was impressive.  Go part way down the page and check out the skulls.  Nothing but parallax or relief maps, I forget which, but it looked beautiful.  Didn't run to good though.  D3 ran better.  Seeing screens/watching compressed videos doesn't do it any justice.

I want to say that Overdose (http://www.moddb.com/games/overdose) has all the fancy features we want in D3, plus the engine is GPL & out.  Looks pretty cool, last I tried my GPU wasn't good enough to run it, but it should be now.  Heck, might be easier to get the d3 asset structure in that engine then make D3 look how we want.  :)
Title: Re: POM
Post by: motorsep on September 23, 2014, 10:03:19 AM
There is no way of getting Overdose - they haven't released binaries of the current engine itself, or at least I was unable to locate it.

The difference between idTech 4 and DP/Overdose is that idTech 4 was commercially tested with several titles. It's stable and does the job. I am not going to speculate about Overdose, but having hands-on experience with DP I can only tell that you would have to fork it and convince Lordhavoc to fix what you need to fix and never update the engine fork again. Otherwise it will be development hell with Xonotic team breaking the engine features you need for your game (but features aren't needed for Xonotic), and IQM dev not willing to fix / improve his format/exporters.

As I was told by a seasoned game developer - either use engine as-is with minor improvements and take advantage of what it offers, or choose another engine. That's if the goal is to make a mod/game. If the goal is to make whole new engine off idTech 4 / BFG it's a different story.
Title: Re: POM
Post by: The Happy Friar on September 23, 2014, 10:23:20 AM
Overdose SVN, for everyone to looksee: http://sourceforge.net/projects/odblur/

Does it work?  Dunno, but the last binary was compiled a little over a week ago.
Title: Re: POM
Post by: motorsep on September 23, 2014, 10:56:47 AM
Quote from: The Happy Friar on September 23, 2014, 10:23:20 AM
Overdose SVN, for everyone to looksee: http://sourceforge.net/projects/odblur/

Does it work?  Dunno, but the last binary was compiled a little over a week ago.

Not seeing any binaries anywhere, nor assets :/ Those binaries are standalone tools.
Title: Re: POM
Post by: The Happy Friar on September 23, 2014, 12:12:33 PM
Hmm.... when I click "browse code" I see "overdose.exe".  In the "base" folder everything I click on has assets in it (md5mesh's, map's, tga's, etc).  I didn't check them all but there's stuff there.
Title: Re: POM
Post by: motorsep on September 23, 2014, 01:28:14 PM
Odd - I see it now. Probably will give it a spin after work.
Title: Re: POM
Post by: motorsep on September 23, 2014, 08:40:01 PM
9.5Gb checkout.. let's see what it is..

Not really sure what to say. It's raw, a lot of stuff wasn't working. I'll leave it at that.
Title: Re: POM
Post by: oneofthe8devilz on October 02, 2014, 06:16:54 AM
IMO, the feature from which the Doom3 codebase would most benefit performance wise, would be a proper LOD implementation for game models/meshes, brushes and shadows...

The GroundZero Mod team implemented a rudimentary LOD system for their Project (https://www.youtube.com/watch?v=yXt6V-j2b9U) and taking into consideration that this video was rendered in the year 2006 (more than 8 years ago) on a medium range system, it was quite impressive...
Title: Re: POM
Post by: tron on October 02, 2014, 06:49:31 AM
Something on the engine level would definitely be useful, but I know the Dark Mod has implemented a LoD system that seems to work well.
Title: Re: POM
Post by: nbohr1more on October 02, 2014, 08:57:26 AM
Yeah, "Tels" the developer who worked on TDM's LoD system actually got a great deal of advice from thr GroundZero developers.
GZ were great developers, it's a shame that their mod\game seems to have languished...