summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorauric <104602845+ihateamongus@users.noreply.github.com>2025-09-06 21:42:34 -0500
committerGitHub <noreply@github.com>2025-09-06 21:42:34 -0500
commitcf1f8dd8b8be5e3735a9fd95e80ea60d0b704b5a (patch)
tree12e0f7f5525febfba5fb27f728da611987137f95
parent223ac3c36c4d5059d49dc453695e65d6dab1a746 (diff)
parent54429ac1abe5c4a7b6ada64e71f9a6e5cee79b59 (diff)
Merge pull request #1 from ihateamongus/codex/create-c/opengl-windowmain
Add GLFW OpenGL window example
-rw-r--r--README.md15
-rw-r--r--main.c31
2 files changed, 45 insertions, 1 deletions
diff --git a/README.md b/README.md
index 6238c22..833a9c7 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,15 @@
# opentest
-Bloon test
+
+Sample OpenGL window example using GLFW.
+
+Compile on macOS:
+
+```
+clang main.c -o ogl_example -lglfw -framework OpenGL
+```
+
+Run:
+
+```
+./ogl_example
+```
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..3edd036
--- /dev/null
+++ b/main.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <GLFW/glfw3.h>
+
+int main(void)
+{
+ if (!glfwInit()) {
+ fprintf(stderr, "Failed to initialize GLFW\n");
+ return 1;
+ }
+
+ GLFWwindow *window = glfwCreateWindow(640, 480, "Hello OpenGL", NULL, NULL);
+ if (!window) {
+ fprintf(stderr, "Failed to create window\n");
+ glfwTerminate();
+ return 1;
+ }
+
+ glfwMakeContextCurrent(window);
+
+ while (!glfwWindowShouldClose(window)) {
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ glfwSwapBuffers(window);
+
+ glfwPollEvents();
+ }
+
+ glfwDestroyWindow(window);
+ glfwTerminate();
+ return 0;
+}