From f41d6783311e61e91e8e973a21a5af4b215d0772 Mon Sep 17 00:00:00 2001 From: Krzysztof Rudnicki Date: Sun, 28 Aug 2022 19:20:00 +0200 Subject: [PATCH] chore: linking glad --- .vscode/c_cpp_properties.json | 29 ++++++------- .vscode/settings.json | 50 +++++++++++++++++++++- .vscode/tasks.json | 5 ++- Engine/engine/match | Bin 16976 -> 0 bytes Engine/engine/match.cpp | 77 +++++++++++++++++++++------------- 5 files changed, 117 insertions(+), 44 deletions(-) delete mode 100755 Engine/engine/match diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index dab2f43..7678b0f 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,16 +1,17 @@ { - "configurations": [ - { - "name": "linux-gcc-x64", - "includePath": [ - "${workspaceFolder}/**" - ], - "compilerPath": "/usr/bin/gcc", - "cStandard": "${default}", - "cppStandard": "${default}", - "intelliSenseMode": "linux-gcc-x64", - "compilerArgs": [] - } - ], - "version": 4 + "configurations": [ + { + "name": "linux-gcc-x64", + "includePath": [ + "${workspaceFolder}/**", + "${workspaceFolder}/dependencies/include" + ], + "compilerPath": "/usr/bin/gcc", + "cStandard": "${default}", + "cppStandard": "${default}", + "intelliSenseMode": "linux-gcc-x64", + "compilerArgs": [] + } + ], + "version": 4 } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 1d435f0..1c58fb6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -25,5 +25,53 @@ "**/.*/**", "**/.vscode", "**/.vscode/**" - ] + ], + "files.associations": { + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "*.tcc": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "string": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "utility": "cpp", + "fstream": "cpp", + "initializer_list": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "new": "cpp", + "ostream": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "cinttypes": "cpp", + "typeinfo": "cpp" + } } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 98ef0f0..35e55ca 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,8 +6,11 @@ "command": "/usr/bin/g++", "args": [ "-Wall", "${workspaceFolder}/Engine/engine/*.cpp", + "${workspaceFolder}/Engine/engine/glad.c", "-o", - "${workspaceFolder}/Engine/engine/match", "-lglfw", "-lGLU", "-lGL", "-lm", + "${workspaceFolder}/Engine/engine/match", "-lglut", "-lglfw", "-lGLU", "-lGL", "-lm", + "-I${workspaceFolder}/dependencies/include", + ], "options": { diff --git a/Engine/engine/match b/Engine/engine/match deleted file mode 100755 index d63ddbb2b1baf862cb37d2ffc9f5fbe51dc5585d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16976 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 diff --git a/Engine/engine/match.cpp b/Engine/engine/match.cpp index a7b3a3a..f3691f6 100644 --- a/Engine/engine/match.cpp +++ b/Engine/engine/match.cpp @@ -1,38 +1,59 @@ + +#include #include -int main(void) +#include + + +void e() { std::cout << "breakpoint" << std::endl; }; + +void instantiateGLFWWindow() { - GLFWwindow* window; + glfwInit(); // we initialize glfw + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); + // we configure glfw , + // first argument is what option we want to configure, // the second sets the value of the option + // see: https://www.glfw.org/docs/latest/window.html#window_hints + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); + glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); + // We tell glfw we want to use smaller subset of OGL features without backwards-compatible one + //glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); + // We would use this one if we worked on macOs +} - /* Initialize the library */ - if (!glfwInit()) - { - return -1; - } - - /* Create a windowed mode window and its OpenGL context */ - window = glfwCreateWindow(640, 480, "xD", NULL, NULL); - if (!window) +int createWindowObject() +{ + GLFWwindow* window = glfwCreateWindow(800, 600, "LearnOpenGL", NULL, NULL); + // we provide width and height of window + // then name of the window + // we ignore last 2 parameters + // function returns GLFW window object that we will use for other glfw operations + if (window == NULL) { + std::cout << "Failed to create GLFW window" << std::endl; glfwTerminate(); return -1; } - - /* Make the window's context current */ + // context of our window becomes the main context of current thread glfwMakeContextCurrent(window); - - /* Loop until the user closes the window */ - while (!glfwWindowShouldClose(window)) - { - /* Render here */ - glClear(GL_COLOR_BUFFER_BIT); - - /* Swap front and back buffers */ - glfwSwapBuffers(window); - - /* Poll for and process events */ - glfwPollEvents(); - } - - glfwTerminate(); return 0; +} + +int initializeGLAD() +{ + if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) + { + std::cout << "Failed to initialize GLAD" << std::endl; + return -1; + } + return 0; +} + +int main() +{ + if(initializeGLAD() == -1) return -1; + instantiateGLFWWindow(); + if(createWindowObject() == -1) return -1; + e(); + return 0; + } \ No newline at end of file