From f1bdc0c7a6ea88270982c9ef26ccbc71e5b69cee Mon Sep 17 00:00:00 2001 From: malloc Date: Mon, 13 Aug 2018 17:02:55 -0500 Subject: [PATCH] mitapsis boob --- client/CMakeLists.txt | 11 +++-- client/include/glm/CMakeLists.txt | 62 -------------------------- client/src/main.cpp | 74 +++++++++++++++++++++++++++++-- 3 files changed, 79 insertions(+), 68 deletions(-) delete mode 100644 client/include/glm/CMakeLists.txt diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index a920282..0402998 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -9,6 +9,7 @@ file(GLOB_RECURSE client_str set(CMAKE_CXX_STANDARD 11) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake") +find_package(OPENGL REQUIRED) find_package(GLEW REQUIRED) find_package(SDL2 REQUIRED) find_package(SDL2_image REQUIRED) @@ -16,11 +17,15 @@ find_package(SDL2_ttf REQUIRED) add_executable(client src/main.cpp) include_directories(${PROJECT_SOURCE_DIR}/include + ${OPENGL_INCLUDE_DIR} + ${GLEW_INCLUDE_DIR} ${SDL2_INCLUDE_DIR} ${SDL2_IMAGE_INCLUDE_DIR} ${SDL2_TTF_INCLUDE_DIR}) -target_link_libraries(client ${SDL2_LIBRARY} - ${SDL2_IMAGE_LIBRARIES} - ${SDL2_TTF_LIBRARIES}) +target_link_libraries(client ${OPENGL_LIBRARIES} + ${GLEW_LIBRARY} + ${SDL2_LIBRARY} + ${SDL2_IMAGE_LIBRARIES} + ${SDL2_TTF_LIBRARIES}) install(TARGETS client RUNTIME DESTINATION bin) \ No newline at end of file diff --git a/client/include/glm/CMakeLists.txt b/client/include/glm/CMakeLists.txt deleted file mode 100644 index 01c594f..0000000 --- a/client/include/glm/CMakeLists.txt +++ /dev/null @@ -1,62 +0,0 @@ -file(GLOB ROOT_SOURCE *.cpp) -file(GLOB ROOT_INLINE *.inl) -file(GLOB ROOT_HEADER *.hpp) -file(GLOB ROOT_TEXT ../*.txt) -file(GLOB ROOT_MD ../*.md) -file(GLOB ROOT_NAT ../util/glm.natvis) - -file(GLOB_RECURSE CORE_SOURCE ./detail/*.cpp) -file(GLOB_RECURSE CORE_INLINE ./detail/*.inl) -file(GLOB_RECURSE CORE_HEADER ./detail/*.hpp) - -file(GLOB_RECURSE EXT_SOURCE ./ext/*.cpp) -file(GLOB_RECURSE EXT_INLINE ./ext/*.inl) -file(GLOB_RECURSE EXT_HEADER ./ext/*.hpp) - -file(GLOB_RECURSE GTC_SOURCE ./gtc/*.cpp) -file(GLOB_RECURSE GTC_INLINE ./gtc/*.inl) -file(GLOB_RECURSE GTC_HEADER ./gtc/*.hpp) - -file(GLOB_RECURSE GTX_SOURCE ./gtx/*.cpp) -file(GLOB_RECURSE GTX_INLINE ./gtx/*.inl) -file(GLOB_RECURSE GTX_HEADER ./gtx/*.hpp) - -file(GLOB_RECURSE SIMD_SOURCE ./simd/*.cpp) -file(GLOB_RECURSE SIMD_INLINE ./simd/*.inl) -file(GLOB_RECURSE SIMD_HEADER ./simd/*.h) - -source_group("Text Files" FILES ${ROOT_TEXT} ${ROOT_MD}) -source_group("Core Files" FILES ${CORE_SOURCE}) -source_group("Core Files" FILES ${CORE_INLINE}) -source_group("Core Files" FILES ${CORE_HEADER}) -source_group("EXT Files" FILES ${EXT_SOURCE}) -source_group("EXT Files" FILES ${EXT_INLINE}) -source_group("EXT Files" FILES ${EXT_HEADER}) -source_group("GTC Files" FILES ${GTC_SOURCE}) -source_group("GTC Files" FILES ${GTC_INLINE}) -source_group("GTC Files" FILES ${GTC_HEADER}) -source_group("GTX Files" FILES ${GTX_SOURCE}) -source_group("GTX Files" FILES ${GTX_INLINE}) -source_group("GTX Files" FILES ${GTX_HEADER}) -source_group("SIMD Files" FILES ${SIMD_SOURCE}) -source_group("SIMD Files" FILES ${SIMD_INLINE}) -source_group("SIMD Files" FILES ${SIMD_HEADER}) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..) - -add_library(glm_static STATIC ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} - ${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} - ${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} - ${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} - ${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} - ${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} - ${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER}) - -add_library(glm_shared SHARED ${ROOT_TEXT} ${ROOT_MD} ${ROOT_NAT} - ${ROOT_SOURCE} ${ROOT_INLINE} ${ROOT_HEADER} - ${CORE_SOURCE} ${CORE_INLINE} ${CORE_HEADER} - ${EXT_SOURCE} ${EXT_INLINE} ${EXT_HEADER} - ${GTC_SOURCE} ${GTC_INLINE} ${GTC_HEADER} - ${GTX_SOURCE} ${GTX_INLINE} ${GTX_HEADER} - ${SIMD_SOURCE} ${SIMD_INLINE} ${SIMD_HEADER}) - diff --git a/client/src/main.cpp b/client/src/main.cpp index f62964f..f69d68b 100644 --- a/client/src/main.cpp +++ b/client/src/main.cpp @@ -1,8 +1,76 @@ -#include "SDL.h" -#include +#include +#include + +#define GL3_PROTOTYPES 1 +#include + +void setColor(float r, float g, float b, SDL_Window* window) { + glClearColor(r, g, b, 1.0); + glClear(GL_COLOR_BUFFER_BIT); + SDL_GL_SwapWindow(window); +} int main(int argc, char* argv[]) { - // くコ:彡 + if(SDL_Init(SDL_INIT_VIDEO) < 0) + return -1; + atexit(SDL_Quit); + + auto window = SDL_CreateWindow( + "SockScape Client", + SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, + 640, 480, + SDL_WINDOW_OPENGL + ); + + auto ctx = SDL_GL_CreateContext(window); + + SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); + + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2); + + SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, + SDL_GL_CONTEXT_PROFILE_CORE); + + SDL_GL_SetSwapInterval(1); + +#ifndef __APPLE__ + glewExperimental = GL_TRUE; + glewInit(); +#endif + + setColor(1, 0, 0, window); + + bool running = true; + while(running) { + SDL_Event event; + while(SDL_PollEvent(&event)) { + if(event.type == SDL_QUIT) + running = false; + + if(event.type == SDL_KEYDOWN) { + switch(event.key.keysym.sym) { + case SDLK_ESCAPE: + running = false; + break; + case SDLK_r: + setColor(1.0, 0.0, 0.0, window); + break; + case SDLK_g: + setColor(0.0, 1.0, 0.0, window); + break; + case SDLK_b: + setColor(0.0, 0.0, 1.0, window); + break; + default: + break; + } + } + } + } + + SDL_GL_DeleteContext(ctx); + SDL_DestroyWindow(window); return 0; } \ No newline at end of file