What are you working on?

Discuss anything not covered by any of the other categories.
frag.machine
Posts: 2126
Joined: Sat Nov 25, 2006 1:49 pm

Re: What are you working on?

Post by frag.machine »

goldenboy wrote:You guys underestimate how much attention the artists paid to these things.
You artists over estimate how much attention the rest of the world pays to these things. :lol:

IMO it looks great and more realistic.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
Tr3B
Posts: 15
Joined: Tue May 13, 2014 2:24 pm

Re: What are you working on?

Post by Tr3B »

Well 99% of the feedback is that the people who play Doom 3 like it and find it awesome.

The option r_forceShadowMapsOnAlphaTestedSurfaces 1 actually makes the game darker but it was requested by one of the active D3 modders and I kept it in because it looks better and plays nicely with the fake shadow lights.
I made the game a bit brighter using half-lambert lighting instead of the harsh default lambert term which makes the models completely black on the half side.

Stencil shadows require low-poly geometry to look good and proper self-shadowing looks like ass with stencil shadows and low-poly content. So the designers had no other choice than disabling it.

The soft shadowing and self shadowing looks and feels a lot better when playing the game than looking at a single screenshot.
It is especially nice to see it in action on models like skeletons or spiders with very thin legs where all shadows were disabled.
toneddu2000
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: What are you working on?

Post by toneddu2000 »

SuperCool Tr3B!Thanks for doing this! The graphic result is awesome! I wish id released a guide on how to create a game code from scratch with d3 too.. :(
Meadow Fun!! - my first commercial game, made with FTEQW game engine
Spiney
Posts: 63
Joined: Mon Feb 13, 2012 1:35 pm

Re: What are you working on?

Post by Spiney »

Yeah! Awesome stuff! I've been wanting this for a while :D
You based the code of some other engine (DP/Tesseract)? It looks really nice. I also like the alpha tested shadows.
I'm sure Id would have had those everywhere they could had they had the opportunity.

The reason self shadowing is disabled on some characters (as given by JC) is because shadow volumes can sometimes gives a sudden hard edge at the edges used for volume extrusion.
The apex of the low poly mesh not matching that of the high poly I guess. It's just for artistic reason. The Prey guys kept it on, I like it personally, feels more right, even if you get the occasional crappy shadow. I think the imps have it on by default. Iirc in ETQW they fixed it by "shrinking" the mesh inwards slightly used for casting shadows, but I might be talking out of my ass here.

*edit: illustration...

Image

You can imagine shrinking inwards might "fix" most cases.
Tr3B
Posts: 15
Joined: Tue May 13, 2014 2:24 pm

Re: What are you working on?

Post by Tr3B »

It is partially based on my previous Q3A/XreaL stuff and Carmack's early shadow mapping research that was released in the Doom 3 GPL code. However the Doom 3 GPL release didn't contain the necessary ARB assembly shaders but the BFG .resources did.
I was able to reconstruct the missing parts in C for graphics which is required by the open released BFG renderer and I went even further and beat the performance by replacing Carmack's shader with randomly rotated Poisson discs -> 13 texture lookups instead of 32.
In the end, I figured that Carmack's shadow mapping filter was still the same in Rage.

My approach is described in
http://developer.amd.com/wordpress/medi ... apping.pdf

It is an approach not used by DP or Tesseract afaik.
This stuff is faster than anything I wrote in XreaL. I only use depth textures and no floating point textures which only requires half of the fillrate and is not affected by classic light bleeding problems (ESM, VSM).
The shader implementation is very elegant because I can rule all 3 shadow casting light types (spot,point,sun) with a single shader using sampler2DArrayShadow and the rest is matrix math.
I even implemented cascading shadow mapping for sun lights although the game has almost no sun lights except in the monorail map. I wanted my shadow mapping implementation to be feature complete for a 1.0 release.
toneddu2000
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: What are you working on?

Post by toneddu2000 »

So you're the man behind Xreal? I always tought it was the quake based engine most advanced by the graphics side I've ever seen!
Congrats man! :D
Meadow Fun!! - my first commercial game, made with FTEQW game engine
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: What are you working on?

Post by revelator »

Looks good :) also nice to see that you fixed the missing bink code with ffmpeg.

One small problem im facing is that the game window sorta flickers (not the usual flickering it kinda jumps up and down a few times after koading).
My cards are 2x ATI R9 270X with latest driver, might be a driver bug or maybe crossfire incompatibility ?.
Productivity is a state of mind.
Tr3B
Posts: 15
Joined: Tue May 13, 2014 2:24 pm

Re: What are you working on?

Post by Tr3B »

reckless wrote:Looks good :) also nice to see that you fixed the missing bink code with ffmpeg.

One small problem im facing is that the game window sorta flickers (not the usual flickering it kinda jumps up and down a few times after koading).
My cards are 2x ATI R9 270X with latest driver, might be a driver bug or maybe crossfire incompatibility ?.
It is a logical error in the BFG renderer that was introduced by id.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: What are you working on?

Post by revelator »

"koading" ergh got to remember my glasses when posting :S.

Ok so its an id introduced bug ?, what would be needed to fix it ?.
Though not extremely irritating it would be nice to have it fixed :) no rush though just curious.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: What are you working on?

Post by revelator »

Code: Select all

/* Test for GCC > 4.5.0 */
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
/* Test for GCC > 4.5.0 */
#if GCC_VERSION > 40500
#define __assume(cond) do { if (!(cond)) __builtin_unreachable(); } while (0)
#else
#define __assume(x) x
#endif

#if defined(_DEBUG) || defined(_lint)
#define NODEFAULT	default: assert( 0 )
#else
#define NODEFAULT	default: __assume( 0 )
#endif
replacement for the hack in sys_types.h
gcc after version 4.5.0 can emulate the same behaviour just fine :)
Last edited by revelator on Thu May 22, 2014 11:51 pm, edited 1 time in total.
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: What are you working on?

Post by revelator »

http://speedy.sh/DQweu/RBDOOM-3-BFG-1.0 ... eckless.7z

Made a few fixes, feel free to diff against your version tr3b :) probably easier than doing it by hand.
Productivity is a state of mind.
Tr3B
Posts: 15
Joined: Tue May 13, 2014 2:24 pm

Re: What are you working on?

Post by Tr3B »

Please use git and make a pull request.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: What are you working on?

Post by revelator »

Please use git and make a pull request.
Update availiable ? or did you mean if i should commit my changes.

Btw the weird screen jumping goes away if i set vsync to enabled instead of smart.

Made more changes also.

Upped TGA and JPEG code (TGA2 and jpeg-8c) modified cmakelist.txt accordingly.

small bugger discovered, while ffmpeg links in with msvc 2010 the exports seem to go bad, atm ffmpeg only seems to work with msvc 12 and later.
Probably need to recompile ffmpeg with msvc 2010.

Also enabled OpenAL in the 64 bit version. (Works fine after i recompiled it myself).
Productivity is a state of mind.
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: What are you working on?

Post by revelator »

http://speedy.sh/TRr8G/Doom3BFG32.7z 32 bit build for testing.
http://speedy.sh/sS3qR/Doom3BFG64.7z 64 bit build for testing.

changed most of jpeg's memory allocation to use c++ new and delete.
Both builds support openal.
Used newer ffmpeg builds.
update jpeg and TGA code.

Works fine on ATI if you turn of smart vsync.
Productivity is a state of mind.
toneddu2000
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: What are you working on?

Post by toneddu2000 »

Thanks for putting it, reckless!
I tried cmake-vs2013-64bit-openal.bat but it gave me errors:

Code: Select all

 Could NOT find DirectX (missing: DirectX_INCLUDE_DIR
 DirectX_DINPUT8_LIBRARY DirectX_DSOUND_LIBRARY DirectX_DXGUID_LIBRARY
 DirectX_XINPUT_LIBRARY DirectX_X3DAUDIO_LIBRARY)
What kind of directx libraries I need to compile with the 2013 Visual Studio Express version? Thanks
Meadow Fun!! - my first commercial game, made with FTEQW game engine
Post Reply