Это не имеет ничего общего с окном просмотра.На самом деле это функция матрицы перспективы.Ваш код будет меняться, но каждый раз, когда я обнаруживаю, что размер окна изменяется, я делаю следующее:
mat4.perspective(45.0, canvas.width/canvas.height, znear, zfar, projectionMat);
, который обновляет матрицу проекции, чтобы использовать соответствующее соотношение сторон (ширина / высота).