Jump to content
• Advertisement

diolee

Member

5

100 Neutral

• Rank
Newbie
1. How to get a correct TBN matrix and TBN quaternion?

I tried the unit matrix, that is fine. Here is the codes: Orthonormlize(vert->tangent, vert->binormal, vert->normal ); Matrix33f tSpaceMat = Matrix33f::GetIdentity(); tSpaceMat.SetAxisI( Vec3f(vert->tangent.x, vert->tangent.y, vert->tangent.z) ); tSpaceMat.SetAxisJ( Vec3f(vert->binormal.x, vert->binormal.y, vert->binormal.z) ); tSpaceMat.SetAxisK( Vec3f(vert->normal.x, vert->normal.y, vert->normal.x) ); Quaternion4f quat; quat.FromMatrix( tSpaceMat ); Matrix33f tMat; quat.ToMatrix( tMat );
2. How to get a correct TBN matrix and TBN quaternion?

Hi Ashaman73, Thanks for your advice. the handness I already handled in a same way just like you. Is the way I build the TBN matrix right? My result is much more than error tolerance. I mean if the tangent, bitangnet and normal is (1,0,0) ,(0,1,0), (0,0,1). So whether the 3x3 matrix should be like : (1,0,0) (0,1,0) (0,0,1)? And Is the matrix_to_quat() method any different with the regular algorithm?
3. How to get a correct TBN matrix and TBN quaternion?

Hi, For saving the bandwidth of video memory, my project decided to use a quaternion to store a TBN. Now I get a tangent, bi-tangent and a normal vectors. for converting them to a quaternion, I use a 3x3 matrix that the Rows i, j, k of the matrix stored t, b, n. for sure I have already been to normalized the t,b,n and did the Schimdt orthonormal. Then, I transformed the matrix to a quaternion. In order to test the quaternion, I transformed the quaternion back to matrix. unfortunately, the values of these vectors were all wrong. I doubted the 3x3 Matrix which I built was not correct, or something else. I'm not sure. Who knows how to deal with this? Regards, Dio
4. Does boost::pool really header-only in 1.49.0 ?

Thank you for the information, it's very helpful:)
5. Does boost::pool really header-only in 1.49.0 ?

Before I used the boost::pool version 1.43, it's head file only indeed. Now I update the boost lib to version 1.49, although the document said: The Boost Pool library is a header-only library. That means there is no .lib, .dll, or .so to build;[/quote] But when I compile my project, here it is the error information: 2>LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-gd-1_49.lib'[/quote] I googled for answer, but nothing helpful. Does Anyone know the reason?
• Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!