diff --git a/.vs/shader2/v14/.suo b/.vs/shader2/v14/.suo index c8dc796..7007d22 100644 Binary files a/.vs/shader2/v14/.suo and b/.vs/shader2/v14/.suo differ diff --git a/main.cpp b/main.cpp index de6a7b7..752af1c 100644 --- a/main.cpp +++ b/main.cpp @@ -1,4 +1,3 @@ -#define _CRT_SECURE_NO_WARNINGS #include #include "glew.h" #include "Glm/glm.hpp" @@ -217,6 +216,14 @@ INT WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine glBufferData(GL_ARRAY_BUFFER, sizeof(float)*7*3, vertex, GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, 0); + /*创建IBO*/ + unsigned int indexes[] = {0,1,2}; + GLuint ibo; + glGenBuffers(1, &ibo); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(unsigned int) * 3, indexes, GL_STATIC_DRAW); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); + glClearColor(1.0f, 1.0f, 0.0f, 1.0f); //创建一个单位矩阵和一个投影矩阵,后面用来传递到shader @@ -259,7 +266,10 @@ INT WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine glVertexAttribPointer(colorLocation, 4, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)(sizeof(float) * 3)); glBindBuffer(GL_ARRAY_BUFFER, 0); - glDrawArrays(GL_TRIANGLES, 0, 3); + //glDrawArrays(GL_TRIANGLES, 0, 3); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo); + glDrawElements(GL_TRIANGLES, 3, GL_UNSIGNED_INT, 0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); glUseProgram(0); SwapBuffers(dc); diff --git a/shader2.VC.db b/shader2.VC.db index 7bfb40b..0b75c14 100644 Binary files a/shader2.VC.db and b/shader2.VC.db differ diff --git a/shader2.vcxproj b/shader2.vcxproj index 0124af3..9a2ce2e 100644 --- a/shader2.vcxproj +++ b/shader2.vcxproj @@ -88,6 +88,7 @@ Level3 Disabled WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + /D_CRT_SECURE_NO_WARNINGS %(AdditionalOptions) Windows