Java-Gaming.org Hi !
 Featured games (83) games approved by the League of Dukes Games in Showcase (581) Games in Android Showcase (163) games submitted by our members Games in WIP (632) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 Need Help calcualting Tangent and Bi-normals using normals  (Read 874 times) 0 Members and 1 Guest are viewing this topic.
Vorax

Senior Devvie

Projects: 1

System shutting down in 5..4..3...

 « Posted 2005-06-04 23:22:58 »

I am having difficulties implementing bump maps on 3D objects.

I want to use the plane's smoothed normals to calculate the tangent and then do a crossproduct to get the bi-normal.

I have been over the entire web (or it feels like it), looking for an equation that will do this, but have found nothing   All the tutorials and source everywhere that I have found use either the TBN loaded from the model (like POF models, which mine aren't, nor do i have SMax), or calculate the TB.N while calculating the geometry.

If I take the standard approach of delta p1->p2 cross delta p1->p3, I loose the smoothed normal and end up with flat looking surfaces.

Cas, if your out there... you said this was easy (and I agreed)...I correct us (or at least me)...XY plane parallel bump mapping with generated quads or triangles is easy  - complex surface bump mapping with accurate normals is not the same.

Can anyone help?

Spasi
 « Reply #1 - Posted 2005-06-05 14:20:29 »

The tangent is calculated per triangle (just like the normal). It depends on the vertex positions and their UVs. You've apparently found how to calculate this and it's what gives the triangulated look of your objects. Then, just like normals, you have to calculate the average tangent for each vertex, by averaging the tangents of the surrounding triangles. Same for the binormal, unless you calculate it on the fly (using a cross in a vertex shader). The difficult part is to decide how to smooth your tangents (e.g. the problem with mirrored UVs).
Vorax

Senior Devvie

Projects: 1

System shutting down in 5..4..3...

 « Reply #2 - Posted 2005-06-05 16:30:21 »

Thanks for your reply Spasi, but I have figured out what's gong on.

It was a 12-IFK (12 inches from the keyboard)... me.

I am embarrased to say that I having been using the WRONG crossproduct method for a WEEK!  My vector class has several cross product versions, they all work correctly, but they each do different assignments to either the vector itself, or the vectors sent to the them as parameters.  The one I was using stores the result back into the first parameter and I thought I was using the one that stores it back into the vector itself!   DOH!!!

This exaplains why I was having so many  unexplainable problems.   I relearned an old lesson - don't take anything for granted, especially when debugging.

Pages: [1]
 ignore  |  Print

You cannot reply to this message, because it is very, very old.

 theagentd (17 views) 2015-05-27 22:21:17 theagentd (22 views) 2015-05-27 22:21:08 CopyableCougar4 (17 views) 2015-05-27 19:24:50 MrMapcom (24 views) 2015-05-23 20:26:16 MrMapcom (32 views) 2015-05-23 20:23:34 Waterwolf (37 views) 2015-05-20 15:01:45 chrislo27 (44 views) 2015-05-20 03:42:21 BurntPizza (79 views) 2015-05-10 15:53:18 FrozenShade (63 views) 2015-05-07 09:11:21 TheLopais (227 views) 2015-05-06 13:36:48
 Spasi 28x Rayvolution 23x Riven 16x theagentd 15x Drenius 15x BurntPizza 15x ra4king 13x opiop65 12x EgonOlsen 11x princec 11x DavidBVal 11x Husk 11x KevinWorkman 10x scanevaro 8x orangepascal 8x kevglass 8x
 List of Learning Resources2015-05-05 10:20:32How to: JGO Wikiby Mac702015-02-17 20:56:162D Dynamic Lighting2015-01-01 20:25:42How do I start Java Game Development?by gouessej2014-12-27 19:41:21Resources for WIP gamesby kpars2014-12-18 10:26:14Understanding relations between setOrigin, setScale and setPosition in libGdx2014-10-09 22:35:00Definite guide to supporting multiple device resolutions on Android (2014)2014-10-02 22:36:02List of Learning Resources2014-08-16 10:40:00
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org