Матрица проекции делает больше, чем масштабирование, верно?

Как я понял, матрица проекции масштабирует многоугольник в зависимости от того, насколько далеко или близко он находится от камеры. Хотя я могу быть совершенно не прав.Мой вопрос заключается в том, как матрица проекции «знает», чтобы показать стороны следующегокубКак движется камера, когда в матрице предполагается только «масштабировать» полигоны?

Обратите внимание на изображение, куб смещен на правую сторону экрана, перемещая камеру влево. Если камера перемещается в противоположном направлении (вправо) для центрирования куба, сторона куба исчезнет, ​​как и ожидалось.

Вот мой матричный код:

private void createProjectionMatrix(){
      float aspectRatio = (float) Display.getWidth() / (float) Display.getHeight();         
      float y_scale = (float) ((1f / Math.tan(Math.toRadians(FOV/2f))) * aspectRatio);         
      float x_scale = y_scale / aspectRatio;         
      float frustum_length = FAR_PLANE - NEAR_PLANE;                  
      projectionMatrix = new Matrix4f(); 
      projectionMatrix.m00 = x_scale;         
      projectionMatrix.m11 = y_scale;         
      projectionMatrix.m22 = -((FAR_PLANE + NEAR_PLANE) / frustum_length);         
      projectionMatrix.m23 = -1;         
      projectionMatrix.m32 = -((2 * NEAR_PLANE * FAR_PLANE) / frustum_length);         
      projectionMatrix.m33 = 0;
}

Ответы на вопрос(1)

Ваш ответ на вопрос