parent
2b6c9ddf53
commit
1853a5cfcb
@ -1,6 +1,72 @@ |
|||||||
#include <glad/glad.h> |
#include <glad/glad.h> |
||||||
#include <GLFW/glfw3.h> |
#include <GLFW/glfw3.h> |
||||||
|
#include <stdio.h> |
||||||
|
|
||||||
|
#define WINDOW_WIDTH 640 |
||||||
|
#define WINDOW_HEIGHT 480 |
||||||
|
|
||||||
|
float verts[] = { |
||||||
|
-0.5f, -0.5f, 0.0f, |
||||||
|
0.5f, -0.5f, 0.0f, |
||||||
|
0.0f, 0.5f, 0.0f |
||||||
|
};
|
||||||
|
|
||||||
|
void framebuffer_size_callback(GLFWwindow* win, int w, int h) { |
||||||
|
glViewport(0, 0, w, h); |
||||||
|
} |
||||||
|
|
||||||
|
void processInput(GLFWwindow *win) { |
||||||
|
int action = glfwGetKey(win, GLFW_KEY_ESCAPE); |
||||||
|
if (action == GLFW_PRESS) { |
||||||
|
glfwSetWindowShouldClose(win, true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
void renderCallback(GLFWwindow *win) { |
||||||
|
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); |
||||||
|
glClear(GL_COLOR_BUFFER_BIT); |
||||||
|
|
||||||
|
unsigned int VBO; |
||||||
|
glGenBuffers(1, &VBO); |
||||||
|
|
||||||
|
glBindBuffer(GL_ARRAY_BUFFER, VBO); |
||||||
|
} |
||||||
|
|
||||||
int main() { |
int main() { |
||||||
|
glfwInit(); |
||||||
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); |
||||||
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); |
||||||
|
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); |
||||||
|
|
||||||
|
GLFWwindow* win = glfwCreateWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "Hohmann", NULL, NULL); |
||||||
|
if (win == NULL) { |
||||||
|
printf("Failed to create a window."); |
||||||
|
glfwTerminate(); |
||||||
|
return 1; |
||||||
|
} |
||||||
|
|
||||||
|
glfwMakeContextCurrent(win); |
||||||
|
|
||||||
|
if ( !gladLoadGLLoader((GLADloadproc)glfwGetProcAddress) ) { |
||||||
|
printf("Failed to init GLAD."); |
||||||
|
return 1; |
||||||
|
} |
||||||
|
|
||||||
|
glViewport(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); |
||||||
|
glfwSetFramebufferSizeCallback(win, framebuffer_size_callback); |
||||||
|
|
||||||
|
while (!glfwWindowShouldClose(win)) { |
||||||
|
// Handle input
|
||||||
|
processInput(win); |
||||||
|
|
||||||
|
// rendering
|
||||||
|
renderCallback(win); |
||||||
|
|
||||||
|
// glfw
|
||||||
|
glfwSwapBuffers(win); |
||||||
|
glfwPollEvents(); |
||||||
|
} |
||||||
|
|
||||||
|
glfwTerminate(); |
||||||
return 0; |
return 0; |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue