[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922)
InsideQC Forums • View topic - Revelation Test

Revelation Test

Discuss anything not covered by any of the other categories.

Moderator: InsideQC Admins

Re: Revelation Test

Postby nbohr1more » Thu Aug 28, 2014 5:46 pm

Yeah, he stated on D3W shortly after the GPL release, that he already tried to do this but found the GPU memory needed was
too high to make it practical. It seems he's trying again...
nbohr1more
 
Posts: 54
Joined: Fri Dec 09, 2011 7:04 am

Re: Revelation Test

Postby revelator » Thu Aug 28, 2014 5:54 pm

Indeed :)

just tried it still has some bugs to iron out like depthmask issues all models are transparent and brush models are bleeding through them (could actually see a console popping right through my marine).
also some issues with light hmm.

using FBO's is a nice goal though :)
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby revelator » Thu Aug 28, 2014 7:15 pm

from the code it looks a bit like a variant of justins marshalls defered version but mixed with the arb2 renderer hmm, the defered version uses glsl though so it will be a bitch to find the correct places to turn off
the arb2 renderers state changers, i guess thats why its still buggy. Had the same problems with earlier glsl backends only MH's version seemed to work somewhat reliable.

Ill keep an eye on development though :)
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby revelator » Fri Aug 29, 2014 6:43 am

Latest source here

changes:

exposed CopyDepthRender to the game dll's, supports saving depthimages to savegames.
reenabled some old code used for removing degenerated triangles.
added nedmalloc support.
removed one function that was used for the old renderers and was now defunct.
cleanup.
reformatting.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby revelator » Fri Aug 29, 2014 8:31 am

A rather extreme warning here.

Remember the bug i had with shadows ? well guess what i just found out :shock:
its caused by building with msvc 2013.
Not sure what the hell can cause this but i noticed some pointers.
Builds using msvc 2012 and earlier are also bigger, so 2013 obviously either tries to optimize some stuff away or the libraries it links to are different in a way that causes problems.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby revelator » Sun Aug 31, 2014 2:13 am

reverted solution to use msvc 2010 and the problems with shadow cut off are a thing of the past.
I reported the problem to microsoft so lets see if they can fix it.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby frag.machine » Sun Aug 31, 2014 6:11 pm

Can it be related to precision loss when casting doubles to float or vice versa ? It wouldn't be the first time this problem pops in a Microsoft compiler IIRC.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2120
Joined: Sat Nov 25, 2006 1:49 pm

Re: Revelation Test

Postby revelator » Mon Sep 01, 2014 5:23 am

Could be tbh its mostly guesswork whats causing it atm but im not alone, one of the devs over at the darkmod forums has the same problem :S.
Question would then be if its intended behaviour and in that case how to fix it in code (i got a hunch it might be).
In case it is then i kinda understand why RBDoom3 BFG works fine with 2013 (uses double precision float by default in idlib).
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby nbohr1more » Thu Sep 04, 2014 12:57 pm

Excuse me if I'm bringing in some nonsense but I went looking at the depth buffer code again to how it related to overdraw and noticed that
the loop sorta looks like:

For each light
Get view
fill depth buffer
allocate vertex
clear depth buffer
paint light
paint non-lit surfaces
paint post-process

Am I reading something wrong? Is this engine not reusing z-buffer for all lights and instead making a new per-light z-fill?
Is this to save GPU memory by only doing z-fill per the light bounds (at the expense of fillrate!?!)?
Tell me I'm crazy please?
nbohr1more
 
Posts: 54
Joined: Fri Dec 09, 2011 7:04 am

Re: Revelation Test

Postby revelator » Thu Sep 04, 2014 4:27 pm

That might very well be, remember idtech4 is rather old "2003" :?: and i guess to cut down on the heaviest elements (there where barely any gfx cards back then that could run Doom3 on high or ultra) ,
they probably optimized a lot of stuff away. Might also explain why the floating point math was less strict and now breaks with newer compilers.
So theres lots of room for improvement :) but it might be a bitch.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby revelator » Thu Sep 04, 2014 4:29 pm

And your example looks sound :) that seems to indeed be the way its handled.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby toneddu2000 » Thu Sep 04, 2014 5:23 pm

- my first commercial game, made with FTEQW game engine
toneddu2000
 
Posts: 1395
Joined: Tue Feb 24, 2009 4:39 pm
Location: Italy

Re: Revelation Test

Postby nbohr1more » Fri Sep 05, 2014 1:31 am

Yeah, that doesn't quite line-up with how it's explained at iddev.net

Step 1:
Renders all solid (non-translucent) geometry in black. If a stage has an alpha test, then it gets rendered with the alpha test enabled. This is to fill the depth buffer so early z can prevent expensive shader ops later.

Step 2:
Render all light interactions.

For each light {
Render shadows into the stencil buffer;
For each stage in the light material {
For each surface in the light volume {
inter.diffuse = inter.specular = inter.bump = NULL;
For each stage in the surface material {
if stage is Diffuse {
if ( inter.diffuse && inter.bump ) Render( inter );
inter.diffuse = thisStage;
}
if stage is Specular {
if ( inter.specular && inter.bump ) Render( inter );
inter.specular = thisStage;
}
if stage is Bump {
if ( inter.bump ) Render( inter );
inter.diffuse = inter.specular = NULL;
inter.bump = thisStage;
}
}
Render( inter );
}
}
}

Step 3:
Renders any stage with "blend" set to something other than "diffusemap", "specularmap", or "bumpmap". This is where guis and other translucent or alpha blended surfaces get rendered (including particles).

Step 4:
Render any stage that references _currentRender. This would be heat haze, glass distortions, and other crazy post process effects.

To stay safe, I would always put my stages in the following order: bump, diffuse, specular. That way you'll always know how it will get rendered.


If the above is true, then it should be possible to reference the internal depth buffer for SSAO without writing a new one. Too bad I'm not bright enough to
tell either way... :D
nbohr1more
 
Posts: 54
Joined: Fri Dec 09, 2011 7:04 am

Re: Revelation Test

Postby revelator » Fri Sep 05, 2014 3:41 am

hey tonnedu.

you need to use the game dll's compiled from my sources else it will crash.
The reason being some small changes in the editors (removed some unused stub functions) which also affect the game dll's.
not entirely sure if its compatible wit the steam version either :?:

And ah nbor i misunderstood i thought you where refering to sikkpins depth functions.
well we still need to copy of the dethbuffer but that function allready exist, it was used for the exp renderers shadowmap functions, take a look inside it :) you will see.
But yeah that should work :) im not good at shaders though so someone who is needs to fix that part atleast.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Re: Revelation Test

Postby revelator » Mon Sep 08, 2014 3:07 am



Hum seems were not alone when it comes to floating point weirdness.
Unfortunatly for us its msvc thats correct and we have to fix the bug in vanilla :S
Msvc from version 12 has switched floating point correctness from FPU to SSE math.
So either we fix that or the only other option is using an older compiler for vanilla,
and no using an older compiler from within the msvc 2013 ide does not work,
it will still enforce SSE math no matter what you set it to.
Productivity is a state of mind.
User avatar
revelator
 
Posts: 2605
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

PreviousNext

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest