Конечно.Примените те же преобразования (переводы и повороты) к вектору положения, который содержит положение вашего объекта.Результатом будет положение вашего объекта после преобразования.Вам может потребоваться выполнить некоторое масштабирование в какой-то момент, если вы хотите преобразовать 3d-координаты в 2d-экранные.Но это очень выполнимо.Это включает масштабирование на основе глубины z объекта.
РЕДАКТИРОВАТЬ:
private final FloatBuffer buffer = EngineUtil.createBuffer( 16 );
/**
* @return Current modelview matrix (column-major)
*/
public Matrix getModelviewMatrix() {
return getMatrix( GL11.GL_MODELVIEW_MATRIX );
}
/**
* @return Current projection matrix (column-major)
*/
public Matrix getProjectionMatrix() {
return getMatrix( GL11.GL_PROJECTION_MATRIX );
}
/**
* Retrieves the specified matrix.
* @param name Matrix name
*/
private Matrix getMatrix( int name ) {
// Retrieve specified matrix buffer
buffer.rewind();
GL11.glGetFloat( name, buffer );
// Convert to array
final float[] array = new float[ 16 ];
buffer.get( array );
// Convert to matrix
return new Matrix( array );
}
Но вы можете просто использовать что-то более полное, чем LWJGL.Google vecmath, обработка, единство.3D сложно, и кажется, что нет никаких реальных сокращений, так что продолжайте пробовать, вы получите это.