Размер буфера глубины совпадает с размером порта просмотра? - PullRequest
0 голосов
/ 04 января 2012

Если я выполняю

#define SCREEN_SIZE 512
glEnable(GL_DEPTH_TEST);
glViewport(0, 0, SCREEN_SIZE, SCREEN_SIZE);

Это делает размер буфера глубины SCREEN_SIZE x SCREEN_SIZE?

1 Ответ

2 голосов
/ 04 января 2012

Делает ли это размер моего буфера глубины SCREEN_SIZE x SCREEN_SIZE?

Нет. Буфер глубины является частью буфера оконного кадра. Обычно такой оконный фрейм-буфер состоит из

  • передняя цветная плоскость
  • задняя цветовая плоскость
  • буфер глубины
  • трафаретный буфер

Все эти плоскости имеют одинаковый размер, а именно размер окна, в котором был создан контекст OpenGL. Окно просмотра просто определяет подмножество окна, которое будет отображаться в диапазоне [-1, 1] нормализованных координат устройства , т.е. он выбирает часть буфера кадра, который будет использоваться как цель проекции. В окне просмотра даже не нужно обрезать объекты «за пределами» области просмотра. Если вам это нужно, вы должны объединить его с ножничным тестом .

...