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

Phaeton: Water stuff WiP

Started by motorsep, March 29, 2015, 12:59:09 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

motorsep

Finishing water support in Phaeton:

https://www.youtube.com/watch?v=NCNiY8RD2hg

Eventually hoping to make splash textures animated, but for now it seems to work :)

BielBdeLuna

it looks great, did you use the shader improvements from the darkmod? I see that in the radial splashes the texture still deform the weapon.

I also see the impossible geometry in the reflection of the water is still there isn't it?

motorsep

Thanks.

The fixes area being worked on, so maybe next week will have artifacts-free water. Not sure if anything is being taken from TDM or if we are going to use our own solution.

BielBdeLuna

#3
now, there you go reinventing the wheel ;) but rest assured I won't give you THAT KIND of "support", after all it IS your time  :)

motorsep

Quote from: BielBdeLuna on March 29, 2015, 02:46:36 PM
now, there you go reinventing the wheel ;) but rest assured I won't give you THAT KIND of "support", after all it IS your time  :)

I don't reinvent the wheel. TDM has ARB shaders, which isn't reusable directly (if the fix is in the shader). While TDM programmers are pretty smart guys, real-time rendering and OpenGL stuff isn't what they do for living. So I am not sure how they implemented warping fix is the best way. Regardless, since ARB shaders can't be reused, it makes no difference whether to write a new Cg shader or port ARB to Cg. If it's a rendering fix (C++), then again, idTech 4 rendering code isn't exactly the same as Doom 3 BFG one. So I let my programmer decide which route he wants to take based on his observation.

BielBdeLuna


nbohr1more

Yeah, the fix is in both the ARB shader and in draw_common (at least), we capture depth
then use it to correct (in ARB) the warp post process. There may be more robust render sort fixes than
that like Depth Peeling but our solution works for our use case.

motorsep

Well, we fixed reflections / refraction (partially) artifacts:

https://www.youtube.com/watch?v=vsWMTX3E1WI

trebor

Quote from: nbohr1more on March 29, 2015, 08:56:50 PM
Yeah, the fix is in both the ARB shader and in draw_common (at least), we capture depth
then use it to correct (in ARB) the warp post process. There may be more robust render sort fixes than
that like Depth Peeling but our solution works for our use case.

Using a _currentDepth texture sounds like a good approach to solve the problem.

motorsep

Quote from: trebor on April 24, 2015, 05:49:01 AM
Using a _currentDepth texture sounds like a good approach to solve the problem.

Except it only remedies mild distortion issues. When distortion is of a high magnitude, like 10 and up, the artifact is apparent (although not as obvious as without depth mask).

oneofthe8devilz

Quote from: motorsep on April 23, 2015, 08:15:15 PM
Well, we fixed reflections / refraction (partially) artifacts:

Very Very Cool ! *thumbs*

This is something that we still have to implement for ARB based shaders...

I think we might be able to use The Dark Mod solution for the distortion/fragment shading but I wonder if your Phaeton "Oblique projection" mirror fix approach is applicable to the Doom3 1.3.1 codebase ?
I got six little friends and they all run faster than you ;)


Check out our mods at
moddb or the SPS Homepage

motorsep

Quote from: oneofthe8devilz on May 15, 2015, 10:50:39 AM
I think we might be able to use The Dark Mod solution for the distortion/fragment shading but I wonder if your Phaeton "Oblique projection" mirror fix approach is applicable to the Doom3 1.3.1 codebase ?

Thanks! It's a generic technique. I am sure it can be implemented in any 3D engine with portalized reflections.

BielBdeLuna

can you guys explain it all? what are portalized reflectors?

motorsep

That's how reflections are made in Doom 3 (to my understanding). Another camera looking through a portal or something like that.

BielBdeLuna

ok.

what other ways are there for creating reflections on a given surface?

I wonder if the same way of doing stereoscopy by using pixel saders (creating the second point of view from one rendered scene) could be used in the making of reflections by deforming the scene in the GPU? if so could we have several reflections for diferent planes in the same scene every one of them using it's own pixel shader path?