59 lines
1.7 KiB
C++
59 lines
1.7 KiB
C++
#define STB_IMAGE_IMPLEMENTATION
|
|
|
|
#include <glad/glad.h>
|
|
#include <GLFW/glfw3.h>
|
|
#include <stb_image.h>
|
|
#include <funcs.h>
|
|
#include <shader.h>
|
|
#include <NBEngine/Window.h>
|
|
#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<NB::VertexAttribute> 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<float> 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;
|
|
} |