- 250
- 12
- 24
Делаю отрисовку моделей через шейдер, со всякими картами и прочим, все получается без проблем, кроме одной вещи - матрица камеры игрока.
Пытался подбирать различные параметры, но получался вобще бред.
Поэтому пришел сюда чтобы кто нибудь из осведомленных подсказал.
Видос прикладываю для понимания в чем именно проблема и как искажается модель при повороте либо перемещении
ВИДЕО
В данный момент выглядит код создания матрицы так:
Пытался подбирать различные параметры, но получался вобще бред.
Поэтому пришел сюда чтобы кто нибудь из осведомленных подсказал.
Видос прикладываю для понимания в чем именно проблема и как искажается модель при повороте либо перемещении
ВИДЕО
В данный момент выглядит код создания матрицы так:
createViewMatrix:
public static Matrix4f createViewMatrix()
{
cameraPitch = RenderManager.instance.playerViewX;
cameraYaw = RenderManager.instance.playerViewY;
float x_fix = -(float)RenderManager.renderPosX;
float y_fix = -(float)RenderManager.renderPosY;
float z_fix = -(float)RenderManager.renderPosZ;
Matrix4f matrix = new Matrix4f();
matrix.setIdentity();
Matrix4f.rotate((float) Math.toRadians(cameraPitch), new Vector3f(1,0,0), matrix, matrix);
Matrix4f.rotate((float) Math.toRadians(cameraYaw), new Vector3f(0,1,0), matrix, matrix);
Vector3f negCamPos = new Vector3f(
-x_fix,
y_fix,
-z_fix);
Matrix4f.translate(negCamPos, matrix, matrix);
return matrix;
}