Jump to content
The Dark Mod Forums
Sign in to follow this  
jdude

Parallax revisted

Recommended Posts

I was looking at some images we have posted after taking some time away from computers entirely for quite an extended period of time and there's one thing I noticed.

 

When we have specific brick or cobblestone textures they look fairly flat and bland.

 

Maybe we should revisit the idea of parallax mapping, it would really improve these textures and actually increase performance because mappers wont need to use polygons to make convincingly 3d cobblestone and brickwork.

 

We don't need parallax for all textures, this is one of the things TDS did right. Some textures had parallax some didn't, why don't we do the same, is this a good or bad idea?

Share this post


Link to post
Share on other sites

TDS had no parallax mapping. It was just regular normalmapping like Doom 3 does too.

 

I agree though that Parallax mapping does look damn fine. However, aside from implementing it, it would need quite a bit of work as far as content creation and quality control is concerned. Sure, we could approximate heightmaps automatically from normalmaps, but the results should still be checked and possibly improved afterwards.

Share this post


Link to post
Share on other sites

Seconded. A simple implementation of parallax mapping (not "parallax occlusion mapping" variant) works fast and fine on a Shader Model 2.0 graphics hardware (I mean, for example, 10-year old Radeon 9500). Moreover, I've seen somewhere even a Shader Model 1.4 implementation (for 11-year old Radeon 8500). So, I'm quite sure that any GPU taffers have would cope with parallax mapping in TDM pretty nicely.

Share this post


Link to post
Share on other sites

I thought I read that parallax mapping doesn't work with ambient lighting, or is that parallax occlusion mapping?

 

TDS surely didn't have parallax mapping. What we need in many cases are probably just better normal maps.

Share this post


Link to post
Share on other sites

Parallax and all its more fancy versions are possible, but as mentioned need some extra content to get working.

 

Everything but the very basic old parallax-mapping ( which tends to break down easily under certain view angles ) is very expensive on the shader side tho, because the more accurate approaches are usually implemented in a raytracing-like manner.

 

The only ambient lighting mode that may cause problems with this may be the one that uses the simple diffuse texture stage, the other two could be adjusted to work with it.

Share this post


Link to post
Share on other sites

I think the bigger concern is getting all the current TDM shader features (or near approximates) written in GLSL (or even just "all" the vanilla Doom 3 shaders)

for the whole Doom 3 Free effort? (And to avoid endless driver struggles....)

Share this post


Link to post
Share on other sites

The only ambient lighting mode that may cause problems with this may be the one that uses the simple diffuse texture stage, the other two could be adjusted to work with it.

 

I believe we're going to consider getting rid of the 3rd 'enhanced' ambient method since your updates to the original doom 3 interaction.vfp has increased performance to the point where it's faster than the multi-texture pass version, but essentially looks the same.

 

I think the bigger concern is getting all the current TDM shader features (or near approximates) written in GLSL (or even just "all" the vanilla Doom 3 shaders)

for the whole Doom 3 Free effort? (And to avoid endless driver struggles....)

 

I agree. To be honest, I'm somewhat hesitant to entertain the introduction of something that will create a further drain on performance when we have people currently working very hard to increase performance for the 1.08 release. Wouldn't we have to make new textures for pretty much everything we want to work with parallax?

Share this post


Link to post
Share on other sites

Wouldn't we have to make new textures for pretty much everything we want to work with parallax?

 

You'd need at least one height map for each surface that use it, yes.

 

Furthermore, using parallax mapping puts some increased pressure on mappers to properly align textures so the parallax effect can really do its job well. Otherwise it runs the risk of just being one of those things that most people say look like crap.

TDM (and Doom3) already gets enough flak from people saying it looks plastic.

 

Edit: But I can't really say for sure, just speaking out of experience here. Wonderful things can be done with it, as with any graphical effect... :)

Edited by GameDevGoro

Share this post


Link to post
Share on other sites

Of course Parallax mapping shouldn't be targeted for 1.08, but could be considered in the near future. Together with SSAO (a.k.a. the graphical feature that will improve the visuals of TDM by orders of magnitude)!!!! :wub:

 

All features optional of course!!

Share this post


Link to post
Share on other sites

Given the current shaky status of TDM, I'm not too keen on adding features that will make the mod unplayable for folks whose hardware is borderline as it is. Anything that can't be turned off would be undesirable at this point. I personally don't have a problem with the visuals, but then again I still really enjoy the visuals of T1 and T2. ;)

Share this post


Link to post
Share on other sites

Shader enhancements are unlikely to drastically affect performance in most cases except POM as Rebb mentioned. The GPL Doom 3 requires around triple shadow draws compared to the native version (unless you use Raynorpat's shadow code). Even more than before, this is mostly a CPU-side problem. The task of improving that situation will fall to anyone who has renderer knowledge to replace the shadow method. If you wanna add optional eye candy I wouldn't worry about the small effect on performance. Unless the shadow performance is addressed the lowend CPU's will likely already have much worse performance than if they set all the current quality options to their highest settings. :(

 

Help is on the way. Doom 3 coders are working on this area... :)

Share this post


Link to post
Share on other sites

If someone wants to convert all of the required textures, feel free. And doing it automagically will look terrible, so don't even bother suggesting it.

 

But personally - I don't see the point.

Share this post


Link to post
Share on other sites

I don't really see that much need either. Maybe sometimes I am happy enough with less than par graphics, but when I started working on TDM I knew that we were already behind the curve... such is mod life. I was happy (and still am) with Thief's dated gfx.

 

Most of the time when normals just don't cut it is at edges/borders with other textures. But if an author is smart with use of trims/intermediate textures/lighting then they really don't stand out all that bad.

 

an example would be having a cobblestone texture on a flat surface butt up exactly to the edge of a smooth stone top stair tex. The sharp contrast between cobbles and flat plus the hard straight line between them will really make half cobble stones look bad.

 

But if the stone step is raised a bit it will look more on top of the cobbles. Plus it could cast shadow that also helps blend into the shape of the cobbles. Or the bottom of the step could be beveled so it also looks like the cobbles go underneath it.

 

Just a tiny bit of mapping forethought can go a long ways.

 

using patches for streets and having wavy edges along buildings also helps break up the obvious straight edge that kills the normal map.

Share this post


Link to post
Share on other sites

I thought I read that parallax mapping doesn't work with ambient lighting, or is that parallax occlusion mapping?

 

TDS surely didn't have parallax mapping. What we need in many cases are probably just better normal maps.

 

Maybe I'm mistaken, I thought I remembered seeing very nice stone wall textures on the first mission which appeared 3d.

 

I think the bigger concern is getting all the current TDM shader features (or near approximates) written in GLSL (or even just "all" the vanilla Doom 3 shaders)

for the whole Doom 3 Free effort? (And to avoid endless driver struggles....)

 

But would having the ability to have only select textures parallaxed eliminate this or would any parallax require a complete shader rewrite?

 

I'm imagining an ability to choose a texture that would be like

stone

stone_parallax

 

Much like we have with some textures like:

stone_noshadows

 

Plus would we be able to give players the ability to turn it off and return to performance the same as before?

 

Given the current shaky status of TDM, I'm not too keen on adding features that will make the mod unplayable for folks whose hardware is borderline as it is. Anything that can't be turned off would be undesirable at this point. I personally don't have a problem with the visuals, but then again I still really enjoy the visuals of T1 and T2. ;)

:D I agree, maybe it could be something tabled for the distant future.

Share this post


Link to post
Share on other sites

Maybe I'm mistaken, I thought I remembered seeing very nice stone wall textures on the first mission which appeared 3d.

 

 

Definitely no parallax back then. It was either a really good normal or the wall was modeled. I spent a lot of time hacking away at the TDS editor. It didn't even use speculars back then, they were added later in fan missions.

 

We would be better off cleaning up our current normal maps and perhaps looking at ways to tweak the current shaders to give them a bit more prominence....hopefully without making them look too busy.

Share this post


Link to post
Share on other sites

For the record, was there any conclusion how much of Sikk's mod we wanted to get in TDM?

Or is it just not on the radar yet or not worth it... Like STiFU was saying, the SSAO is another thing that would go a long way.

I like how TDM looks now too. It's just thinking about what things are worth looking into someday and which aren't even worth that much.

Share this post


Link to post
Share on other sites

But would having the ability to have only select textures parallaxed eliminate this or would any parallax require a complete shader rewrite?

 

I'm imagining an ability to choose a texture that would be like

stone

stone_parallax

 

Much like we have with some textures like:

stone_noshadows

 

Plus would we be able to give players the ability to turn it off and return to performance the same as before?

 

With the Source code, it is now possible to break the Parallax shader into it's own dedicated interaction type which

would allow for lower performance impact.

 

BUT...If the new Parallax shader is written in ARB (as most current examples are)

and relies on the existing Doom 3 Interaction shaders (as most current examples also are) then you cannot ship

it as "Doom 3 Free".

 

Further, you will still be at the mercy of the how the driver code handles ARB Assembly...

It would be a lot of work for a temporary solution that would need to be regressed to be Doom 3 free. (Unless

someone writes fresh Doom 3 free ARB code... Even there, you would be limited to Shader Model 2.0 features

because ARB cant do anything higher... more wasted effort)

 

Sikkpin's SSAO is also written in ARB assembly, and would be better to be rewritten anyway because it uses a cumbersome depth buffer

hack that needlessly affects performance. In spite of that, it performs quite well though... (that guy is quite a coder).

 

Sikkpin has fully replaced Doom 3 ARB with his own code but it's so hooked into his buffer hack and post-process methods it would have to be rewritten anyway.

 

More promising, is this Doom 3 engine revision that has Deferred Rendering, Shadow Maps, and Virtual Textures:

 

http://www.doom3world.org/phpbb2/viewtopic.php?t=25344

 

Once it's reasonably stable, it might be a good candidate to merge in...

Share this post


Link to post
Share on other sites

No, that is far too far from tech4 to merge, it's also not something I think that we should even look at, we dont have anyone to maintain code like that.

Share this post


Link to post
Share on other sites

Ok well I'll defer to technical people to know what's worth merging in, lol.

As long as there are tutorials so we can use the new stuff that gets in, I trust team TDM will know what to do.

Share this post


Link to post
Share on other sites

apparently they also removed ase and lwo support??

 

The last thing I heard, he added ASE and LWO back due to popular demand...

 

No, that is far too far from tech4 to merge, it's also not something I think that we should even look at, we dont have anyone to maintain code like that.

 

Not that I had all my eggs on jmarshall's modded Doom 3 engine, but (bleak) statements like that make me fear that no substantial engine improvements will be offered in future TDM versions at all. :unsure:

 

If so, wouldn't it be better to leave TDM as a DLL and let folks load it as a mod for whatever enhanced Doom 3 engine comes along?

 

I suppose the lightgem would be the real problem for that idea though...

 

Recruitment drive?

 

(Crossing all fingers and toes that TDM v1.08 or later will be playable at all... :( Damn you Creative Labs... )

Edited by nbohr1more

Share this post


Link to post
Share on other sites

That guys work is working towards essentially throwing away everything that is 'nice' about the tech4 engine modding and replacing it with very cut-and-dry simplifications. It's modern, but it's got clearly defined goal posts which will be a complete pain to work within, its his choice and I dont know why people are getting uppity about it. His engine will not support any current mods nor do I expect it will even remain within everything down to the map format. It's a non-starter for the long term, so why gum up the wheels by rushing in without thinking?

 

It's not that TDM will not get improvements, we're already looking at nearly 50% bump in performance (a good bit which I still have to check and commit, but about 25% atm) bump in performance, and drop in cpu use. Note, that's more than pretty much all of the other branches — because everyone is adding and replacing rather than reading and dusting — boring, but I'd rather have something that works well than a shiny turd at the end of the day. The need for revision and improvement of the engine is far higher than 'add new shit which no one understands but the patch works'. If you want new things, you must also deal with making something sustainable.

 

I expect we will move towards amd64, more portable code and GLSL in the next release. Fancy things come later, once we've got everything going smoothly — and people who can look after and develop them in the first place.

 

Organic, iterative development vs. Rushed, blind leaps.

  • Like 1

Share this post


Link to post
Share on other sites

That makes sense. I agree that jmarshall has made some contraversial changes and the fact that he's toying with the notion of baking light into virtual textures is very troubling. I agree that the existing engine should be optimized rather than adding new features. I would go as far as to say Doom 3 without any shader mods is still immensely versitile and could produce stunning visuals. I would be happy with a faster version of vanilla Doom 3. The main attraction to jmarshalls engine for me is that it sports a deferred renderer. Letting Melan, Biker, Johannes, Xcen, etc place as many lights as they wish without performance woes is the idea here... Deferred rendering offers that promise. I hope that isn't off the table for a future enhancement.

Share this post


Link to post
Share on other sites

It's not that TDM will not get improvements, we're already looking at nearly 50% bump in performance (a good bit which I still have to check and commit, but about 25% atm) bump in performance, and drop in cpu use. Note, that's more than pretty much all of the other branches — because everyone is adding and replacing rather than reading and dusting — boring, but I'd rather have something that works well than a shiny turd at the end of the day. The need for revision and improvement of the engine is far higher than 'add new shit which no one understands but the patch works'. If you want new things, you must also deal with making something sustainable.

 

That sounds insanely good! Does this mean that I WILL be able to play confortably, my own mission for example, without fps drops (oh, the irony)? Huge improvements in performance is exactly whats is needed for a good chunk of the players, and it's very nice to hear this is being worked on...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...