Я пытаюсь создать несколько простых полигонов в openGL3.3. У меня есть 2 типа объектов со следующими свойствами:
Объект 1 - 10 вершин (перечислены ниже, в порядке), сохраненных в GL_ARRAY_BUFFER
и использующих GL_TRIANGLE_FAN
v x y z w
v 0.0 0.0 1.0 1.0
v 0.0 1.0 0.1 1.0
v 0.71 0.71 0.1 1.0
v 1.0 0.0 0.1 1.0
v 0.71 -0.71 0.1 1.0
v 0.0 -1.0 0.1 1.0
v -0.71 -0.71 0.1 1.0
v -1.0 0.0 0.1 1.0
v -0.71 0.71 0.1 1.0
v 0.0 1.0 0.1 1.0
Объект 2 - 4 вершины (перечислены ниже, по порядку), хранящиеся в GL_ARRAY_BUFFER
и использующие GL_TRIANGLE_STRIP
v x y z w
v 0.0 0.0 0.0 1.0
v 0.0 1.0 0.0 1.0
v 1.0 0.0 0.0 1.0
v 1.0 1.0 0.0 1.0
Я загружаю 64 Object1 и 4 Object2. Объекты 2 масштабируются с использованием glm::scale(20, 20, 0)
.
Когда я пытаюсь отобразить их с отключенным GL_CULL_FACE
, но с включенным GL_DEPTH_TEST
с glDepthFunc(GL_LESS)
все работает нормально. Как только я пытаюсь включить GL_CULL_FACE
, я получаю только пустое окно.
Некоторая другая полезная информация:
- Порядок рендеринга = 4 объекта2, за которыми следуют 64 объекта1
- Камера - glm::lookAt(glm::vec3(0.0f, 0.0f, 50.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 1.0f, 0.0f));
- Перспектива - glm::perspective(45.0f, 16.0f / 9.0f, 0.01f, 1000.0f);
Я пытался выяснить, почему GL_CULL_FACE
не работает последние пару дней, но понятия не имею. Любая помощь очень ценится.