www.tombraiderforums.com

www.tombraiderforums.com (https://www.tombraiderforums.com/index.php)
-   XNALara (https://www.tombraiderforums.com/forumdisplay.php?f=52)
-   -   Real Bumpmapping for XNALara (https://www.tombraiderforums.com/showthread.php?t=194074)

Cochrane 10-09-12 18:35

Real Bumpmapping for XNALara
 
First of all, the important stuff:
DOWNLOAD Link EffectsArmature.xnb v2
https://github.com/downloads/cochran...tsArmature.xnb
Copy this file into the folder XPS_10.8.7\Content or XNALara\Content

Test Model: http://www.sendspace.com/file/uefyao
Git repository with source code: https://github.com/cochrane/xnalara-shaders

------------

As you may know, I'm currently working on an XNALara program for Mac, and I've had a lot of help and support from the existing XNALara community, who will never be able to use my program unless they buy a new computer just for it. So partly because of that and partly because I was bored, I wanted to give something back. Specifically, working bump maps.

This file contains (almost) all the shaders used by XNALara. I have modified them to use a different (and hopefully better) way of calculating light based on bump maps. The way this is currently done in XNALara is very peculiar, and among other things, doesn't take the light direction into account except for highlights (aka specular lighting). What I've done now is a very standard way of doing normal mapping, which uses the normal map for all light calculations directly. In terms of performance, it should be about the same (in fact, my version will be slightly faster because it does less work, but only so little that you have no chance of ever noticing it). All the rest of the shading remains as it was.

This was the job of about an hour's hacking, and I haven't actually looked at the result yet – I've just had other people tell me that it works. So ideally, save the old file somewhere, try this out, and see whether you like it. If you have problems, tell me, and I'll try to fix them as soon as possible.

------------

Known bugs: All fixed in the latest version, hopefully.

Former bugs:
  • Render groups 24 and 25 use mini bumpmaps even though they shouldn't, leading to potentially very odd results.
  • Incorrect default normals are returned for groups 1, 20, 22, 23 (and also 24 and 25, but they should get different ones anyway) when bump mapping is disabled.
  • Detail bump maps are not applied for render group 28 and 29.

Might look like a bug but isn't: I'm not sure where you set the BumpShadowAmount value, but it will not do anything anymore now. This is intentional; that feature doesn't make a lot of sense given the way bump maps are implemented now. However, instead, the shadow depth value will now apply to bumped features, too.

All these modifications are in the public domain (but not the original file; that's copyright Dusan, although he has made it open source). So if Dusan wants to include this in the next XNALara, or if you want to include this in your own XNALara fork, have fun!

Special thanks go to XNAaraL, for compiling the file, helping fix some compile errors and informing me of the issue with the bump maps to begin with. Thank you! :) (I've now put it all on github, because it's open source, and because I think sendspace has too many ads. The original link is at http://www.sendspace.com/file/zz8lkc ).

KamilM_93 10-09-12 18:46

I tested this on Viola from Soul Calibur 5.

And works perfect! Thanks!

TRDaz 10-09-12 18:50

I dont see the difference in mine D:

NRO. 10-09-12 18:55

Can we have some pictures? ^_^

KamilM_93 10-09-12 18:55

Quote:

Originally Posted by TRDaz (Post 6427656)
I dont see the difference in mine D:

It works the best on Soul Calibur and Tekken models ^.^

TRDaz 10-09-12 18:56

Quote:

Originally Posted by KamilM_93 (Post 6427672)
It works the best on Soul Calibur and Tekken models ^.^

Ill test ^^

EDIT: Oh my... It looks amazing! Especially on SCV Viola and Ivy 2P! :D Thanks :D

o0Crofty0o 10-09-12 19:11

Well... it trashed kinda all models using group 24 or 25 for me (and no i WON'T use 22_ or 23_...don't see a reason to add senselessy many maps in case someone wants to recommend that to me >.<)
Here are some pics:
http://i618.photobucket.com/albums/t...g?t=1347304165
http://i618.photobucket.com/albums/t...g?t=1347304187
http://i618.photobucket.com/albums/t...g?t=1347304165

Looks like they got overlayed with some sort of mini bump that isn't even on the model^^

Cochrane 10-09-12 19:18

Quote:

Originally Posted by o0Crofty0o (Post 6427723)
Well... it trashed kinda all models using group 24 or 25 for me (and no i WON'T use 22_ or 23_...don't see a reason to add senselessy many maps in case someone wants to recommend that to me >.<)
Here are some pics:
http://i618.photobucket.com/albums/t...g?t=1347304165
http://i618.photobucket.com/albums/t...g?t=1347304187
http://i618.photobucket.com/albums/t...g?t=1347304165

Looks like they got overlayed with some sort of mini bump that isn't even on the model^^

Okay, 24 and 25, that's DiffuseLightmapBumpSpecular. I'll look into it, thank you for the bug report!

Edit to add: You're completely right, that was the problem. I've copied and pasted a bit too much, and accidentally used the mini bumpmap function in that shader when I should have just used the single one.

You didn't set the mini bumpmaps, but if any part of the model uses mini bumpmaps, then these mini bumpmaps will be used for all meshes that are rendered later - right until the next time a mini bumpmap is set. The shader normally simply ignores them.

I've uploaded a new version of the source code that fixes the issue at the original address (search for your user name if you want to know where exactly. :D). Now we just have to wait until someone has the time to compile this and uploads a new version, because I can't do that on my Mac, and I have no idea how it's done on Windows.

KamilM_93 10-09-12 19:18

24_ and 25_ render groups are totally buggy. XNAaral said this a long time ago!

o0Crofty0o 10-09-12 19:18

Quote:

Originally Posted by Cochrane (Post 6427744)
24 and 25, that's DiffuseLightmapBumpSpecular. I'll look into it, thank you for the bug report!

Yepp^^
the weird thing is that it works fine on some models and on others not >.<

Quote:

Originally Posted by KamilM_93 (Post 6427748)
24_ and 25_ render groups are totally buggy. XNAaral said this a long time ago!


The only ''bug' i saw was that the ''enable bump maps'' button didn't work.. and well noone complained about any bugs on my models so :rolleyes:


All times are GMT. The time now is 20:57.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.