Do you not need to get your cameras rotation?

Something along the lines of:

1 2 3 4 5 6 7 8
| Vector3f pos = getYourCameraPosition(); double cameraPitchInRadians = Math.toRadians(YourCamerasPitch); double cameraYawInRadians = Math.toRadians(YourCamerasYaw); float newX = (float) Math.sin(cameraYawInRadians); float newY = (float) Math.sin(cameraPitchInRadians); glRotatef(newY-90f, 0.0f, 1.0f, 0.0f); glTranslatef(x+.3f, y-0.3f, z-0.3f); glRotatef(newX, 1.0f, 0.0f, 0.0f); |

Of course, your rx and ry maybe the same as newX and newY above?!

Regards

Thanks so much steg90 I used the code that you provided and ended up adapting it a bit to get it to work with my engine and this was the final product I came to;

1 2 3 4 5 6 7 8
| glLoadIdentity(); double cameraPitchInRadians = Math.toRadians(rY); double cameraYawInRadians = Math.toRadians(rX); float newX = (float) Math.sin(cameraYawInRadians); float newY = (float) Math.sin(cameraPitchInRadians); glRotatef(newX, 1.0f,0.0f, 0.0f); glTranslatef(1.1f-0.8f,-1.1f,-1.3f); glRotatef(newY-90.0f, 0.0f, 1.1f, 0.0f); |