summaryrefslogtreecommitdiff
path: root/Client/Source/RagdollMain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Client/Source/RagdollMain.cpp')
-rw-r--r--Client/Source/RagdollMain.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/Client/Source/RagdollMain.cpp b/Client/Source/RagdollMain.cpp
new file mode 100644
index 0000000..acf70c8
--- /dev/null
+++ b/Client/Source/RagdollMain.cpp
@@ -0,0 +1,89 @@
+// python -m glad --out-path=build --api="gl=2.1" --extensions="" --generator="c"
+// g++ example/c++/sdl.cpp build/src/glad.c -Ibuild/include -lSDL2 -ldl
+
+#include <iostream>
+
+#include <glad/glad.h>
+#include <SDL2/SDL.h>
+
+int main(int argc, char **argv) {
+
+ if (SDL_Init(SDL_INIT_VIDEO) != 0) {
+ std::cerr << "SDL2 video subsystem couldn't be initialized. Error: "
+ << SDL_GetError()
+ << std::endl;
+ exit(1);
+ }
+
+ SDL_Window* window = SDL_CreateWindow("Glad Sample",
+ SDL_WINDOWPOS_CENTERED,
+ SDL_WINDOWPOS_CENTERED,
+ 800, 600, SDL_WINDOW_SHOWN |
+ SDL_WINDOW_OPENGL);
+
+ SDL_Renderer* renderer = SDL_CreateRenderer(window, -1,
+ SDL_RENDERER_ACCELERATED);
+
+ if (renderer == nullptr) {
+ std::cerr << "SDL2 Renderer couldn't be created. Error: "
+ << SDL_GetError()
+ << std::endl;
+ exit(1);
+ }
+
+ // Create a OpenGL context on SDL2
+ SDL_GLContext gl_context = SDL_GL_CreateContext(window);
+
+ // Load GL extensions using glad
+ if (!gladLoadGLLoader((GLADloadproc)SDL_GL_GetProcAddress)) {
+ std::cerr << "Failed to initialize the OpenGL context." << std::endl;
+ exit(1);
+ }
+
+ // Loaded OpenGL successfully.
+ std::cout << "OpenGL version loaded: " << GLVersion.major << "."
+ << GLVersion.minor << std::endl;
+
+ // Create an event handler
+ SDL_Event event;
+ // Loop condition
+ bool running = true;
+
+ while (running) {
+ SDL_PollEvent(&event);
+
+ switch (event.type) {
+ case SDL_QUIT:
+ running = false;
+ break;
+
+ case SDL_KEYDOWN:
+ switch (event.key.keysym.sym) {
+ case SDLK_ESCAPE:
+ running = false;
+ break;
+ }
+ }
+
+ glClearColor(0, 0, 0, 1);
+
+ // You'd want to use modern OpenGL here
+ glColor3d(0, 1, 0);
+ glBegin(GL_TRIANGLES);
+ glVertex2f(.2, 0);
+ glVertex2f(.01, .2);
+ glVertex2f(-.2, 0);
+ glEnd();
+
+ SDL_GL_SwapWindow(window);
+ }
+
+ // Destroy everything to not leak memory.
+ SDL_GL_DeleteContext(gl_context);
+ SDL_DestroyRenderer(renderer);
+ SDL_DestroyWindow(window);
+
+ SDL_Quit();
+
+ return 0;
+}