положение камеры DirectX меня смущает

0

Я только что прочитал следующее:

Скажем, мы хотим, чтобы игрок просматривал объект, расположенный в мировом происхождении (0, 0, 0). Мы хотим, чтобы игрок просматривал объект из координат (100, 100, 100). Для этого нам нужно построить матрицу, содержащую эти данные. Мы строим эту матрицу с помощью функции XMMatrixLookAtLH(). Вот как вы его используете:

XMVECTOR vecCamPosition = XMVectorSet(100, 100, 100, 0);
XMVECTOR vecCamLookAt = XMVectorSet(0, 0, 0, 0);
XMVECTOR vecCamUp = XMVectorSet(0, 1, 0, 0);

XMMATRIX matView = XMMatrixLookAtLH(vecCamPosition, vecCamLookAt, vecCamUp);

от: http://www.directxtutorial.com/Lesson.aspx?lessonid=111-6-1

Я не понимаю, почему, если вы хотите посмотреть на объект, расположенный в 0, 0, 0, вы должны поместить камеру в 100, 100, 100... конечно, это означало бы, что камера прошла мимо нее... а затем оглядываясь назад?

вещь, если я установил свою камеру в 0.0, 0.0, -1.0 и у меня есть объекты с индексом az 1.0... моя камера больше не может видеть мои объекты...

Я не понимаю?

Изображение 174551

Теги:
camera
directx-11

1 ответ

1
Лучший ответ

Похоже, у вас есть 2D-объекты, "обращенные" от камеры, когда они расположены на (0, 0, -1). Если вы измените порядок заказов на вершины треугольника, они должны появиться.

Вы в порядке, чтобы поместить камеру, где бы вы ни пожелали. Если вы смотрите на 3D-объекты, у вас не должно быть проблем.

В DirectX 2D-объекты могут быть видны только тогда, когда их вершины находятся в порядке по часовой стрелке, как видно из камеры (хотя вы можете отключить это или изменить его, чтобы отклонить треугольники против часовой стрелки, если хотите). DirectX использует по часовой стрелке против против часовой стрелки для отбрасывания лиц, чтобы он не рисовал обратные стороны трехмерных объектов.

  • 0
    Я понял это ... Daymmm был раздражающим. Я изменил с ложного на истинное: D3D11_RASTERIZER_DESC FrontCounterClockwise = TRUE; и тогда я понял, что мои обычные лица смотрят в другую сторону ... Также теперь только что понял, что ты упомянул эту штуку против часовой стрелки .. большое спасибо за помощь!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню