|
created Tangent basis in various apps
on 06-23-2011 10:33 AM
Is there anywhere I can find a comprehensive list of what tangent basis various apps use for rendering normal maps? If not, could we create one here?
For instance, I know 3ds Max uses +X and -Y, which is different from some other apps. With all the programs I use, it can become slightly confusing trying to remember if I need to flip the green channel or not. Any insight is appreciated.
|
, Polycount.com Editor,
1,746 Posts,
Join Date May 2009,
Location Redwood City, CA
|
I think it would be wiser to point out how the most common engines handle that.
Every program for rendering normal maps lets you decide how you want that.
|
, polycounter,
1,116 Posts,
Join Date Dec 2008,
Location Germany
|
Maya renders +y by default (right handed), but you can change this behaviour as you go. However tangent basis != handedness which is what you are looking for in your post.
|
, polygon,
745 Posts,
Join Date Jan 2010,
Location St.Lucia, West indies
|
Good point, tangent basis isn't really the same thing as handedness. I guess I had assumed that the handedness was derived from the tangent basis. Or maybe I'm just completely off track.
|
, Polycount.com Editor,
1,746 Posts,
Join Date May 2009,
Location Redwood City, CA
|
(If this is maintained, a simple "Software - Orienation" list would make life easier. Also, a Wiki Page might make more sense..)
AFAIK, xNormals uses the same basis as Max; if you're saying Max is +X/-Y, then xNormals is the same thing. I believe the Photoshop plugin defaults to the +X/+Y. So, Max : +X, -Y
Maya: +X, +Y
xNormals : +X, -Y
Photoshop nVidia Plugin : +X, +Y
Like m4dcow mentioned, there's a way to change this setting in each of these programs; this is mostly helpful in making sure your settings match across your pipeline.
Some other good reading on how the Tangent Basis is calculated in several different packages (in case your developer starts shaking his fist at you): http://www.polycount.com/forum/showthread.php?t=84616
|
, spline,
217 Posts,
Join Date Mar 2010,
Location Ann Arbor, MI
|
Quote:
Originally Posted by SeanEG
I guess I had assumed that the handedness was derived from the tangent basis.
|
If Handedness = Polygon Winding direction, then I believe it depends. Our software derives tangents from the winding direction, but I guess that's not always standard, which freaks my devs out whenever they run across it (sort of like calling the sky Green or something).
|
, spline,
217 Posts,
Join Date Mar 2010,
Location Ann Arbor, MI
|
It's not that simple. The axes thing is insignificant compared to the other differences between apps in calculating normal maps
|
|
what Perna said.
like, if i remember rightly, i read on the UDN site some time that they used an in-house app for generating their normals (makes sense), but that means that potentially there is no app on earth that would generate normals the same way Epic do.
which is of course, a problem.
edit:
http://udn.epicgames.com/Three/Impor...hTutorial.html
apparently the tool they used is called "SHTools".
Last edited by almighty_gir; 06-23-2011 at 02:16 PM..
|
, veteran polycounter,
4,286 Posts,
Join Date Nov 2004,
|
... sure, but assuming you're not using in-house software, it's possible to take a Normal Map generated in xNormals (or whatever) and view it correctly in Max (or whatever). A Tangent-Space Normal Map relies on accurate normals, tangents, and axis inversion all working in unison. Assuming you've got the first two, the second is an easy toggle; I think the OP was just asking for a list of what to flip to and when.
Alternatively, if, say, Maya tangent generation differs from Max tangent generation, then that would still be a good thing to have a list of somewhere. A list of tangent/inversion compatibilities.
|
, spline,
217 Posts,
Join Date Mar 2010,
Location Ann Arbor, MI
|
Quote:
Originally Posted by almighty_gir
|
I've used SHTools a long time ago. We don't use it anymore even for unreal games.
I believe it was developed when epic was first using normalmaps because you couldn't bake normalmaps in max. It was that long ago.
|
, polycounter,
1,284 Posts,
Join Date Apr 2005,
Location Massachusetts
|
I had to use that, sucks ass, there's no antialiasing.
|
, dedicated polycounter,
1,459 Posts,
Join Date Feb 2006,
Location Redmond WA
|
Off the top of my head...
Max X+Y-Z+
Maya X+Y+Z+
ZBrush X-Y+Z+ (not 100% sure)
UDK X+Y-Z+
Marmoset X+Y+Z+
IDTech X+Y+Z+
CryEngine 3 X+Y-Z+
Blender 2.4x+ X-Y-Z+
Blender 2.57+ X+Y+Z+ (now uses mikktspace by default)
xNormal X+Y+Z+ (also uses mikktspace by default)
CrazyBump X+Y+Z+
Nvidia Filter X+Y-Z+
PixPlant X+Y-Z+
nDo2 X+Y+Z+
Feel free to correct them, if i got any wrong
While the axis that different programs use are insignificant when compared to the other complications, i still think it would be a good idea to get these on the Wiki, as when i was first starting out it used to drive me crazy trying to find them all out.
Last edited by metalliandy; 11-20-2011 at 12:01 PM..
|
, dedicated polycounter,
1,671 Posts,
Join Date Mar 2007,
Location United Kingdom (Hampshire)
|
you forgot ue3/udk X+Y-Z+
|
, card carrying polycounter,
2,233 Posts,
Join Date Nov 2010,
Location Halifax, NS, Canada
|
@passerby:
Fifth row, take a good look and try again ;)
|
, polycounter,
1,116 Posts,
Join Date Dec 2008,
Location Germany
|
blah im stupid today
|
, card carrying polycounter,
2,233 Posts,
Join Date Nov 2010,
Location Halifax, NS, Canada
|
I updated my post to include CryEngine 3, which uses X+Y-Z+ 
|
, dedicated polycounter,
1,671 Posts,
Join Date Mar 2007,
Location United Kingdom (Hampshire)
|
We seriously need a standard...
There's a very good chance that I experienced MORE problems, then all the internet put together in the area of 3D. Talk about being original for once...
|
, veteran polycounter,
4,497 Posts,
Join Date Apr 2011,
Location Canada
|
Inverting the Green channel results in a percieved increase in quality for compressed normal maps, this is why it's all over the place.
Also...isn't tangent basis something completely different?, isn't this swizzle coordinates?.
Last edited by Scruples; 06-30-2011 at 10:17 PM..
|
, triangle,
342 Posts,
Join Date Nov 2010,
|
Right Scruples, my question is, why are you guys worried about the XYZ negatives and positives if tangent basis doesn't mean that at all? For me tangent basis always meant the amount of angle the vertex normal converts the tangent of the surface, not the RGB info on the map. Am I wrong here?
We also had a long conversation about this not so long ago, comparing different tangent basis inbetween softwares here: http://www.polycount.com/forum/showthread.php?t=68173
|
, dedicated polycounter,
1,459 Posts,
Join Date Feb 2006,
Location Redmond WA
|
Yeah, tangent basis wasn't the best term to use when creating the thread. I had assumed the "handedness", or direction of the Y axis, was derived from the tangent basis. Mods can feel free to change the thread title.
|
, Polycount.com Editor,
1,746 Posts,
Join Date May 2009,
Location Redwood City, CA
|
Quote:
Originally Posted by Scruples
Inverting the Green channel results in a percieved increase in quality for compressed normal maps, this is why it's all over the place.
|
Not quite, try again.
Quote:
|
Also...isn't tangent basis something completely different?, isn't this swizzle coordinates?.
|
Swizzling (as it applies to images) is swapping color channels around when exporting said image, such as DXT5NM
@metalliandy, Blender pushing for a tangent space standard is pretty cool 
|
|
Isn't tangent basis how you calculate the bitangent/binormal and tangent components that come along with the vertex normals?
|
, dedicated polycounter,
1,366 Posts,
Join Date Dec 2004,
Location Malmö, Sweden
|
Quote:
Originally Posted by kodde
Isn't tangent basis how you calculate the bitangent/binormal and tangent components that come along with the vertex normals?
|
that was my understanding. folks seem to be mixing it up with every other normal map buzz word.
|
, veteran polycounter,
2,970 Posts,
Join Date Feb 2010,
Location Ireland
|
Quote:
Originally Posted by Scruples
Inverting the Green channel results in a percieved increase in quality for compressed normal maps, this is why it's all over the place.
Also...isn't tangent basis something completely different?, isn't this swizzle coordinates?.
|
The direction of the axis has absolutely no effect on the quality of the results you get. The only reason there is a difference, is because some shaders are coded to use a preferred set up
Quote:
Originally Posted by bugo
Right Scruples, my question is, why are you guys worried about the XYZ negatives and positives if tangent basis doesn't mean that at all? For me tangent basis always meant the amount of angle the vertex normal converts the tangent of the surface, not the RGB info on the map. Am I wrong here?
We also had a long conversation about this not so long ago, comparing different tangent basis inbetween softwares here: http://www.polycount.com/forum/showthread.php?t=68173
|
Quote:
Originally Posted by SeanEG
Yeah, tangent basis wasn't the best term to use when creating the thread. I had assumed the "handedness", or direction of the Y axis, was derived from the tangent basis. Mods can feel free to change the thread title.
|
Yea Axis and Tangent space are different. I posted the axis values, because i knew what Sean meant and its good to finally get a list of these down somewhere 
He corrected himself in post 4 too
@Sean, maybe message a mod to change the thread title and edit your first post?
Quote:
Originally Posted by throttlekitty
@metalliandy, Blender pushing for a tangent space standard is pretty cool 
|
Yea, its a move in the right direction 
|
, dedicated polycounter,
1,671 Posts,
Join Date Mar 2007,
Location United Kingdom (Hampshire)
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
Copyright 1998-2012 A. Risch
|