Элементный буфер
This commit is contained in:
parent
ab9ca847f7
commit
0a2b7623fb
23
src/main.cpp
23
src/main.cpp
|
@ -156,9 +156,10 @@ int main(void)
|
||||||
glUseProgram(shaderProgram);
|
glUseProgram(shaderProgram);
|
||||||
|
|
||||||
// Вершины треугольника
|
// Вершины треугольника
|
||||||
glm::vec3 verticies[] = { {-1.0f, -1.0f, 0.0f}
|
glm::vec3 verticies[] = { {-0.5f, -0.5f, 0.0f}
|
||||||
, { 1.0f, -1.0f, 0.0f}
|
, { 0.5f, -0.5f, 0.0f}
|
||||||
, { 0.0f, 1.0f, 0.0f}
|
, { 0.5f, 0.5f, 0.0f}
|
||||||
|
, {-0.5f, 0.5f, 0.0f}
|
||||||
};
|
};
|
||||||
|
|
||||||
// VAO
|
// VAO
|
||||||
|
@ -166,7 +167,7 @@ int main(void)
|
||||||
glGenVertexArrays(1, &VertexArrayID); // Генерация одного объекта массива вершин
|
glGenVertexArrays(1, &VertexArrayID); // Генерация одного объекта массива вершин
|
||||||
glBindVertexArray(VertexArrayID); // Привязка для использования
|
glBindVertexArray(VertexArrayID); // Привязка для использования
|
||||||
|
|
||||||
// VBO
|
// VBO вершинный
|
||||||
GLuint vertexbuffer;
|
GLuint vertexbuffer;
|
||||||
glGenBuffers(1, &vertexbuffer); // Генерация одного объекта буфера вершин
|
glGenBuffers(1, &vertexbuffer); // Генерация одного объекта буфера вершин
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer); // Привязка буфера вершин к используемому VAO
|
glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer); // Привязка буфера вершин к используемому VAO
|
||||||
|
@ -184,6 +185,18 @@ int main(void)
|
||||||
);
|
);
|
||||||
// Включаем необходимый атрибут у выбранного VAO
|
// Включаем необходимый атрибут у выбранного VAO
|
||||||
glEnableVertexAttribArray(0);
|
glEnableVertexAttribArray(0);
|
||||||
|
|
||||||
|
// индексы вершин
|
||||||
|
GLuint indices[] = {0, 1, 2, 2, 3, 0};
|
||||||
|
|
||||||
|
// VBO элементный (индексы вершин)
|
||||||
|
GLuint elementbuffer;
|
||||||
|
glGenBuffers(1, &elementbuffer); // Генерация одного объекта буфера вершин
|
||||||
|
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, elementbuffer); // Привязка элементного буфера
|
||||||
|
|
||||||
|
// Загрузка индексов в используемый элементныйбуфер
|
||||||
|
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW);
|
||||||
|
|
||||||
|
|
||||||
// Установка цвета очистки буфера цвета
|
// Установка цвета очистки буфера цвета
|
||||||
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
|
||||||
|
@ -196,7 +209,7 @@ int main(void)
|
||||||
|
|
||||||
// Тут производится рендер
|
// Тут производится рендер
|
||||||
glBindVertexArray(VertexArrayID); // Привязка VAO для использования
|
glBindVertexArray(VertexArrayID); // Привязка VAO для использования
|
||||||
glDrawArrays(GL_TRIANGLES, 0, 3); // Обработка вершин начиная с 0 в колличестве 3
|
glDrawElements(GL_TRIANGLES, sizeof(indices)/sizeof(GLuint), GL_UNSIGNED_INT, (void*)0);
|
||||||
glBindVertexArray(0); // Отключение VAO
|
glBindVertexArray(0); // Отключение VAO
|
||||||
|
|
||||||
// Представление содержимого буфера цепочки показа на окно
|
// Представление содержимого буфера цепочки показа на окно
|
||||||
|
|
Loading…
Reference in New Issue