News:

One Minute Game Review by The Happy Friar: https://ugetube.com/@OneMinteGameReviews
Also on Rumble: https://rumble.com/c/c-1115371

idTech 4 (aka Doom 3 tech) Discord Server! https://discord.gg/9wtCGHa

Main Menu

RBDOOM-3-BFG 1.1.0 preview

Started by trebor, December 30, 2015, 07:29:50 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

trebor

I used the christmas holidays to add a bunch of renderer features to DOOM 3 BFG.

Here is the changelog:

- True 64 bit HDR lighting with adaptive filmic tone mapping

- Enhanced Subpixel Morphological Antialiasing
   For more information see "Anti-Aliasing Methods in CryENGINE 3" and the docs at http://www.iryoku.com/smaa/

- Filmic post process effects like Technicolor color grading and film grain

- Fixed issues with Mesa drivers and allowed them to use shadow mapping

- Defaulted fs_resourceLoadPriority to 0 so it is not necessary anymore to specify when running a modification

- Additional ambient render pass to make the game less dark similar to the Quake 4 r_forceAmbient technique << -- this was really necessary IMHO and will be improved with automatic placed cubemaps aka IBL light probes soon

I only imlemented SMAA 1x so far. It was necessary because real HDR with 16 bit floats and MSAA didn't work well with all those post process effects like heat haze.
I went into many driver problems using MSAA.
However the SMAA code is a very good starting point for the other modes like SMAA T2x which is essentially what UE4 does.


You can download it from https://dl.dropboxusercontent.com/u/22890478/RBDOOM-3-BFG/RBDOOM-3-BFG-1.1.0-preview1-win32-20151224-git-090fbf0.7z


Screenshots how it should look like:

RBDOOM-3-BFG 1.1.0 lighting preview Deltalabs 1
http://imgur.com/a/E7MZ9

RBDOOM-3-BFG 1.1.0 lighting preview Phobos 1
http://imgur.com/a/VG3KO


motorsep

Nice one! That makes me want to play Lost Missions after all :)

motorsep

Quote from: trebor on December 30, 2015, 07:29:50 AM
- Additional ambient render pass to make the game less dark similar to the Quake 4 r_forceAmbient technique << -- this was really necessary IMHO and will be improved with automatic placed cubemaps aka IBL light probes soon

How do you plan on doing this efficiently ?

I have been poking at Unity and probes there have to be manually placed on the shadow boundaries. Someone made a tool to place light probes on a grid, a la Quake lightgrid, but Unity guys said it's too inefficient and eats up too much of resources.

trebor

That should be easy with id Tech 4. Just start at the center of each BSP area and then move to the next area portal in a certain distance.
The BSP is still kinda useful. However I already implemented some basic code. You will also be able to manually place and move env probes ingame.

motorsep

Quote from: trebor on December 31, 2015, 07:23:09 AM
That should be easy with id Tech 4. Just start at the center of each BSP area and then move to the next area portal in a certain distance.
The BSP is still kinda useful. However I already implemented some basic code. You will also be able to manually place and move env probes ingame.

I see. I was thinking of maybe utilizing .proc file data (static shadow volumes). So probes don't have to be located on the shadow's boundary like in Unity ?

raynorpat

Sounds more like Source's env_cubemap then Unity.

trebor


romulus_ut3

And as always, the performance is choppy on AMD cards. :(

motorsep

Quote from: romulus_ut3 on January 01, 2016, 12:36:16 AM
And as always, the performance is choppy on AMD cards. :(

Did you update driver ? I recall with 15.11 (or whatever it was the latest) issues with idTech 5 based games and AMD were gone!

trebor

I admit that my HDR implemention is not optimal no matter what card you are using.

See https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/278

This is just a preview and not the final 1.1.0 release.

argoon

#10
Fantastic work trebor,  i just want to ask one thing, how can i tweak the ambient light?  I just think the game became to bright now, yes finally seeing detail on the shadows is very nice and have the normal maps also work on them is fantastic, but totally removing the darkness that Doom3 add is just not good to me, the game imo loses the sense of dread and becomes just a game of shooting monsters in lite corridors, because of this the lower amount of enemies encounters really become aparente now.

I also seem to have some banding problems in some lite surfaces.

My GPU - AMD R9 270X using the new 15.11 drivers

BTW didn't vanilla idtech 4 removed polys in shadow? afaik because they were pitch black anyway.  If now this is not true anymore that means the game lost one of its performance optimization tricks? And so we should expect worse performance?


edit - I should learn to read i didn't realized you literally used the r_forceAmbient  cmd, saw it on the console, it was at 0.2 i brought it down to 0.05, bang the better of both worlds, darker shadows but still able to see detail on them. :D


Phrozo


trebor

Quote from: argoon on January 01, 2016, 10:24:30 PM
Fantastic work trebor,  i just want to ask one thing, how can i tweak the ambient light?  I just think the game became to bright now, yes finally seeing detail on the shadows is very nice and have the normal maps also work on them is fantastic, but totally removing the darkness that Doom3 add is just not good to me, the game imo loses the sense of dread and becomes just a game of shooting monsters in lite corridors, because of this the lower amount of enemies encounters really become aparente now.

I also seem to have some banding problems in some lite surfaces.

My GPU - AMD R9 270X using the new 15.11 drivers

BTW didn't vanilla idtech 4 removed polys in shadow? afaik because they were pitch black anyway.  If now this is not true anymore that means the game lost one of its performance optimization tricks? And so we should expect worse performance?


edit - I should learn to read i didn't realized you literally used the r_forceAmbient  cmd, saw it on the console, it was at 0.2 i brought it down to 0.05, bang the better of both worlds, darker shadows but still able to see detail on them. :D

r_useHalfLambertLighting 0 reenables the culling of triangles that are not facing into the light's direction. However it looks crappy with Half-Lambert lighting and I think in general that traditional Lambert N*L lighting in Doom 3 just sucks.
Half-lambert fakes a bit of the amount of indirect lighting which Doom 3 is completely missing. I think the lighting in Doom 3 is completely broken after learning so much about PBR.

However the old lighting system is the result of the hardware limitations in 2004 and it was designed to even work on a Geforce 3.

argoon

Quote from: trebor on January 02, 2016, 07:28:27 AM
r_useHalfLambertLighting 0 reenables the culling of triangles that are not facing into the light's direction. However it looks crappy with Half-Lambert lighting and I think in general that traditional Lambert N*L lighting in Doom 3 just sucks.
Half-lambert fakes a bit of the amount of indirect lighting which Doom 3 is completely missing. I think the lighting in Doom 3 is completely broken after learning so much about PBR.

However the old lighting system is the result of the hardware limitations in 2004 and it was designed to even work on a Geforce 3.

Thanks for the suggestion, but i concur with you, i was just curious if this new lighting affected that particular optimization, also i don't think anyone playing with this is using a old dx8 or dx9 GPU to need the extra performance from the triangle culling.

Knowing that you are about to implemente PBR into idtech 4.5 makes me smile, i can't wait to see how it will look on Doom3 (after some material modifications i'm sure). :)

I would not call the Doom 3 lighting broken, like you said it was made even before GPU's were fully programmable so is impressive how much juice was John Carmack able to squeeze from that hardware and make a real time lighting system that even today looks good. 

Manson

#14
Everything i got now is black screen on linux.

Ok. Turning HDR off gives me image back.:) Turning r_antiAliasing and r_useFilmicPostProcessEffects on/off i didn't see any difference at all.

My be my graphics card is too old.