Объекты DirectX 11 растягиваются по мере приближения к краю окна. ⇐ C++
-
Anonymous
Объекты DirectX 11 растягиваются по мере приближения к краю окна.
Это ссылка на видео. Был простой куб с вращающейся камерой, и я нашел эту проблему.
Итак, я создал матрицы с помощью glm (также попробовал математику DirectX), для соотношения сторон я использовал окно 1920 x 1080 и его разрешение без заголовка. Я тестировал эту сцену на игровых движках типа UE и Unity, но там все было нормально. Не знаю, что делать, есть ли какие-то решения?
Существуют матрицы просмотра и проекции (FMatrix4 — это typedef для glm::mat4x4):
FMatrix4 Camera::GetViewMatrix() { КамераВперед = Ориентация; return glm::lookAt(CameraPosition, CameraPosition + CameraForward, CameraUp); //CameraPosition = FVector(-3, 0, -2); // возвращаем glm::lookAt(CameraPosition, FVector(0.1f,0.01f, 0.1f), CameraUp); } Камера FMatrix4::GetPerspectiveMatrix() { //WinProc->GetAspectRatio() return glm::perspective(glm::radians(CameraFOV), WinProc->GetAspectRatio(), 0.1f, 100.0f); } Угол обзора камеры 90 градусов
Это ссылка на видео. Был простой куб с вращающейся камерой, и я нашел эту проблему.
Итак, я создал матрицы с помощью glm (также попробовал математику DirectX), для соотношения сторон я использовал окно 1920 x 1080 и его разрешение без заголовка. Я тестировал эту сцену на игровых движках типа UE и Unity, но там все было нормально. Не знаю, что делать, есть ли какие-то решения?
Существуют матрицы просмотра и проекции (FMatrix4 — это typedef для glm::mat4x4):
FMatrix4 Camera::GetViewMatrix() { КамераВперед = Ориентация; return glm::lookAt(CameraPosition, CameraPosition + CameraForward, CameraUp); //CameraPosition = FVector(-3, 0, -2); // возвращаем glm::lookAt(CameraPosition, FVector(0.1f,0.01f, 0.1f), CameraUp); } Камера FMatrix4::GetPerspectiveMatrix() { //WinProc->GetAspectRatio() return glm::perspective(glm::radians(CameraFOV), WinProc->GetAspectRatio(), 0.1f, 100.0f); } Угол обзора камеры 90 градусов
Мобильная версия