Java-Gaming.org Hi !
 Featured games (90) games approved by the League of Dukes Games in Showcase (753) Games in Android Showcase (228) games submitted by our members Games in WIP (842) 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 1264 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

 ivj94 (580 views) 2018-03-24 14:47:39 ivj94 (44 views) 2018-03-24 14:46:31 ivj94 (371 views) 2018-03-24 14:43:53 Solater (60 views) 2018-03-17 05:04:08 nelsongames (107 views) 2018-03-05 17:56:34 Gornova (147 views) 2018-03-02 22:15:33 buddyBro (690 views) 2018-02-28 16:59:18 buddyBro (90 views) 2018-02-28 16:45:17 xxMrPHDxx (492 views) 2017-12-31 17:17:51 xxMrPHDxx (728 views) 2017-12-31 17:15:51
 Java Gaming Resourcesby philfrei2017-12-05 19:38:37Java Gaming Resourcesby philfrei2017-12-05 19:37:39Java Gaming Resourcesby philfrei2017-12-05 19:36:10Java Gaming Resourcesby philfrei2017-12-05 19:33:10List of Learning Resourcesby elect2017-03-13 14:05:44List of Learning Resourcesby elect2017-03-13 14:04:45SF/X Librariesby philfrei2017-03-02 08:45:19SF/X Librariesby philfrei2017-03-02 08:44:05
 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