From adfc839098ee12cc180cc00cbb362cb232bfb2a1 Mon Sep 17 00:00:00 2001 From: maelstrom Date: Fri, 27 Sep 2024 18:25:26 +0200 Subject: [PATCH] Black screen --- .gitignore | 5 +++++ CMakeLists.txt | 33 +++++++++++++++++++++++++++++++++ src/main.cpp | 23 +++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f98b9b --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +bin/ +CMakeFiles/ +cmake_install.cmake +CMakeCache.txt +Makefile diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..92201c5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.5.0) +set(CMAKE_CXX_STANDARD 17) +project(GLTest VERSION 0.1.0) +set(OpenGL_GL_PREFERENCE "GLVND") + +set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) +set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib ) + +find_package(OpenGL REQUIRED COMPONENTS OpenGL) + +find_package(SDL2 REQUIRED) +include_directories(${SDL2_INCLUDE_DIRS}) + +find_package(GLEW REQUIRED) +include_directories(${GLEW_INCLUDE_DIRS}) + +find_package(GLUT REQUIRED) +include_directories(${GLUT_INCLUDE_DIRS}) + +find_package(glfw3 REQUIRED) + +find_package(OpenGL) + +find_package(glm CONFIG REQUIRED) + +find_package(assimp REQUIRED) + +file(MAKE_DIRECTORY bin) + +file(GLOB SOURCES "src/*.cpp" "src/*.h") +add_executable(${PROJECT_NAME} ${SOURCES}) +set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME "gltest") +target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARIES} ${GLEW_LIBRARIES} ${GLUT_LIBRARIES} OpenGL::GL OpenGL::GLU glfw glm::glm assimp) \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..0c97879 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +void errorCatcher(int id, const char* str); + +int main() { + glfwSetErrorCallback(errorCatcher); + + glfwInit(); + GLFWwindow *window = glfwCreateWindow(800, 600, "GLTest", NULL, NULL); + + glfwMakeContextCurrent(window); + do { + glfwSwapBuffers(window); + glfwPollEvents(); + } while(!glfwWindowShouldClose(window)); +} + +void errorCatcher(int id, const char* str) { + printf("Something *terrible* happened. Here's the briefing: [%d] %s\n", id, str); +} \ No newline at end of file