Многократное усечение усеченного конуса - PullRequest
2 голосов
/ 26 февраля 2009

Функция gluPerspective () может быть использована для установки плоскостей отсечения вблизи Z и вдали от Z.

Я хочу нарисовать сцену, вырезанную в некоторой дальней плоскости Z, и нарисуйте еще одну сцену за эту плоскость Z. Можно ли сделать это отсечение дважды за кадр?

Ответы [ 3 ]

1 голос
/ 26 февраля 2009

Может потребоваться сначала нарисовать самую дальнюю сцену и сделать glClear(GL_DEPTH_BUFFER_BIT); перед тем, как нарисовать ближайшую сцену.

1 голос
/ 27 февраля 2009

Можно назначить разные диапазоны глубины для сцен. Некоторый псевдокод будет:

  glDepthRange(0.5, 1.0)
  draw_far_scene
  glDepthRange(0.0, 0.5)
  draw_near_scene

Вам необходимо настроить матрицы проекций для правильного отсечения ближних / дальних сцен.

Назначение диапазонов глубины необходимо, чтобы буфер глубины не «сливал» оба рендеринга.

1 голос
/ 26 февраля 2009

Нет причин, по которым вы не сможете этого сделать.

Просто настройте первую перспективу, нарисуйте первую сцену, а затем настройте вторую перспективу и нарисуйте сцену секунд, все в чертеже того же кадра.
Обычно это называется многопроходной визуализацией.

...