Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


Getting transformed vertex coords


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
3 replies to this topic

#1 wolfman8k   Members   -  Reputation: 140

Like
Likes
Like

Posted 18 November 2001 - 07:20 AM

How do I get the transformed vertex coordanites after calling glTranslate*() and glRotate*(). I need something like this:
  
xtranformed = transform_vertex_x(x, y, z);
ytranformed = transform_vertex_y(x, y, z);
ztranformed = transform_vertex_z(x, y, z);
  
where x, y, and z is the vertex that I want to be transformed. Can I just multiply it by the current model matrix? If so, how do I do that? thanks

Sponsor:

#2 zedzeek   Members   -  Reputation: 528

Like
Likes
Like

Posted 18 November 2001 - 08:53 AM

simpliest way is gluUnProject(..)

#3 Qoy   Members   -  Reputation: 127

Like
Likes
Like

Posted 18 November 2001 - 06:59 PM

gluUnProject gives you vertex coords from screen coords, not vertex coords transformed by the modelview matrix.

Your best bet is probably to use glGetFloatv to get the modelview matrix and manually multiply your vertices by the matrix to transform them. Unfortunately, this involves writing matrix/vector multiplication code if you don't already have it.

Good luck.

Edited by - Qoy on November 19, 2001 2:00:32 AM

#4 Fruny   Moderators   -  Reputation: 1653

Like
Likes
Like

Posted 18 November 2001 - 07:19 PM

You can recover the transformation matrices with glGet.

  
double array[16];
glGetDoublev( GL_MODELVIEW_MATRIX, array );


Then do a multiplication.

Be careful though, IIRC, the matrices returned are transposed

0 4 8 12
1 5 9 13
2 6 10 14
3 7 11 15




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS