Track coordinates of a vertex after glRotatef()

Hello, I am new here and to OpenGL. I am in the process of making a 3D rig. The idea is to have bones that are connected and respond to rotations. The rig will have no rotation constraints, just position constraints (meaning that a bone’s origin depends on its parent’).

That said, the only problem I have is with using the glRotatef function. I want to pass a point through that function’s transformation and have it rotated. Here is the code:

glPushMatrix();
glRotatef(2* acos(bone->rotation.s) * 180 / 3.1415f, bone->rotation.v.x,bone->rotation.v.z,-bone->rotation.v.y);

glBegin(GL_TRIANGLES);
    glColor4ub(255,0,0,155);
    glVertex3f(0,0,0);
    glVertex3f(0.15,-0.15,0.3);
    glVertex3f(-0.15,-0.15,0.3);

    glVertex3f(0,0,0);
    glVertex3f(0.15,0.15,0.3);
    glVertex3f(-0.15,0.15,0.3);

    glVertex3f(0,0, bone->length);
    glVertex3f(0.15,0.15,0.3);
    glVertex3f(0.15,-0.15,0.3);

    glVertex3f(0,0, bone->length);
    glVertex3f(-0.15,-0.15,0.3);
    glVertex3f(-0.15,0.15,0.3);

    glColor4ub(200,200,200,155);
    glVertex3f(0,0,0);
    glVertex3f(0.15,0.15,0.3);
    glVertex3f(0.15,-0.15,0.3);

    glVertex3f(0,0,0);
    glVertex3f(-0.15,-0.15,0.3);
    glVertex3f(-0.15,0.15,0.3);

    glVertex3f(0,0, bone->length);
    glVertex3f(0.15,-0.15,0.3);
    glVertex3f(-0.15,-0.15,0.3);

    glVertex3f(0,0, bone->length); // << how to track its modified coordinate at the end of this method.
    glVertex3f(0.15,0.15,0.3);
    glVertex3f(-0.15,0.15,0.3);
    
glEnd();
glPopMatrix();

I would like to know the glVertex3f (or some other point object) coordinate after the transformation.

  • Thanks a bunch :slight_smile: