Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void GLAPIENTRY
- gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx,
- GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy,
- GLdouble upz)
- {
- float forward[3], side[3], up[3];
- GLfloat m[4][4];
- forward[0] = centerx - eyex;
- forward[1] = centery - eyey;
- forward[2] = centerz - eyez;
- up[0] = upx;
- up[1] = upy;
- up[2] = upz;
- normalize(forward);
- /* Side = forward x up */
- cross(forward, up, side);
- normalize(side);
- /* Recompute up as: up = side x forward */
- cross(side, forward, up);
- __gluMakeIdentityf(&m[0][0]);
- m[0][0] = side[0];
- m[1][0] = side[1];
- m[2][0] = side[2];
- m[0][1] = up[0];
- m[1][1] = up[1];
- m[2][1] = up[2];
- m[0][2] = -forward[0];
- m[1][2] = -forward[1];
- m[2][2] = -forward[2];
- glMultMatrixf(&m[0][0]);
- glTranslated(-eyex, -eyey, -eyez);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement