#define STB_IMAGE_IMPLEMENTATION #include #include #include #include #include #include #include "Draw.h" int main() { NB::NBWindow myWindow(800, 600, "Howdy Naif!"); auto window = myWindow.getWindow(); myWindow.init(); glfwSetFramebufferSizeCallback(window, framebuffer_size_callback); NB::Shader myShader("../shaders/vert.vs", "../shaders/frag.fs"); myShader.use(); std::vector attrs = { {2, GL_FLOAT, false}, {3, GL_FLOAT, false} }; __NB_GL_DEBUG__(NB::DrawBuffer myBuffer(attrs, myShader)); __NB_GL_DEBUG__(myBuffer.generateElementBuffer({0, 1, 2, 0, 2, 3}, GL_TRIANGLES)); std::vector data_float = { -0.5, -0.5, 1.0, 0.0, 0.0, 0.5, -0.5, 0.0, 1.0, 0.0, 0.5, 0.5, 0.0, 0.0, 1.0, -0.5, 0.5, 1.0, 0.0, 1.0 }; __NB_GL_DEBUG__(myBuffer.generateVertexBuffer(NB::rawDataVector(data_float))); std::cout << "elmt buf to " << NB::getBound(GL_ELEMENT_ARRAY_BUFFER_BINDING) << "\n"; std::cout << "vert buf to " << NB::getBound(GL_VERTEX_ARRAY_BINDING) << "\n"; // Window loop GLenum err; while(!glfwWindowShouldClose(window)) { __NB_GL_DEBUG_THROW__("nothing", "during"); // Input checking processInput(window); // Rendering Loop myShader.use(); glClearColor(0.2f, 0.4f, 0.3f, 1.0f); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); __NB_GL_DEBUG__(myBuffer.draw()); // Events and buffer swap glfwPollEvents(); glfwSwapBuffers(window); } glfwTerminate(); return 0; }