hi

i feel that i am redundnantly calling these 3 seperate functions , because i always seem to do the 3 together (for obvious reasons). is there anyway these 3 calls can be combined into one?

best

james

hi

i feel that i am redundnantly calling these 3 seperate functions , because i always seem to do the 3 together (for obvious reasons). is there anyway these 3 calls can be combined into one?

best

james

You can compute the final matrix by ourself and use glLoadMatrix

so you have to do only

```
glPushMatrix();
computeMatrix(point, scaleFactor, &matrix);
glMultMatrix(matrix);
drawSomeStuff();
glPopMatrix();
```

You can also remove the push/popMatrix pair, but you must consider the camera transformation, so you can do something like that

```
glLoadMatrixf(cameraMatrix);
computeMatrix(point1, scaleFactor1, &matrix);
glMultMatrixf(matrix);
drawStuff();
glLoadMatrixf(cameraMatrix);
computeMatrix(point2, scaleFactor2, &matrix);
glMultMatrixf(matrix);
drawOtherStuff();
```

if you want remove the glMultMatrix you have to compute the whole matrix on CPU.

or you can create a custom shader where you pass the matrix as uniform in openGL 3.0 style.

Btw, I donâ€™t know if the matrix multiplication is hardware accelerated, I guess that the computation is simply done by the driver.