OpenGL glTexImage2D карта куба и параметры ширины / высоты

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

Следующие бросает GL_INVALID_ENUM на меня:

for (uint32_t i = 0; i < 6; i++)
GLCALL(glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_DEPTH_COMPONENT32, windowWidth, windowHeight, 0, GL_DEPTH_COMPONENT32, GL_FLOAT, 0));

Согласно документам, это, вероятно, из-за этого:

GL_INVALID_ENUM is generated if target is one of the six cube map 2D image targets and the width and height parameters are not equal.

И я получаю, если ширина / высота разные, они на самом деле не куб, но когда у меня разрешение экрана, например, 1920×1080 или любое другое разрешение, это проблема.

Возможно, хотя я и неправильно понял, что следует указывать при вызове функции — разве это не ширина / высота окна? Какие параметры должны быть?

0

Решение

Возможно, хотя я и неправильно понял, что следует указывать при вызове функции — разве это не ширина / высота окна?

Как в мире вы думаете, что разрешение окна влияет на размеры текстуры, мне не понятно. Обычно карты рендеринга теней отображаются с помощью объекта кадрового буфера, поэтому размеры окна не имеют значения.

Какие параметры должны быть?

Для карты куба: Длина ребра текстуры карты куба.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]