From 43307791e461d5b7470f9d25939d385ab2ab26dc Mon Sep 17 00:00:00 2001 From: a dinosaur Date: Tue, 12 Mar 2024 19:09:23 +1100 Subject: [PATCH] simple crossplatform mipmap gen w/o glu --- CMakeLists.txt | 2 +- Lesson10.cpp | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 092de88..fe311d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ add_executable(Lesson10 Lesson10.cpp) set_target_properties(Lesson10 PROPERTIES CXX_STANDARD 98 WIN32_EXECUTABLE ON) -target_link_libraries(Lesson10 SDL3::SDL3 OpenGL::GL $<$:OpenGL::GLU>) +target_link_libraries(Lesson10 SDL3::SDL3 OpenGL::GL) target_compile_options(Lesson10 PRIVATE $<$:-Wall -Wextra -pedantic>) target_compile_definitions(Lesson10 PRIVATE $<$:_CRT_SECURE_NO_WARNINGS>) diff --git a/Lesson10.cpp b/Lesson10.cpp index 44196f8..f99a053 100644 --- a/Lesson10.cpp +++ b/Lesson10.cpp @@ -11,11 +11,7 @@ #include #include #include -#define GL_GLEXT_PROTOTYPES #include // Header File For The OpenGL32 Library -#ifdef _WIN32 -# include -#endif SDL_Window* hWnd=NULL; // Holds Our Window Handle SDL_GLContext hRC=NULL; // Permanent Rendering Context @@ -170,12 +166,8 @@ int LoadGLTextures() // Load Bitmaps And Conv glBindTexture(GL_TEXTURE_2D, texture[2]); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST); -#ifndef _WIN32 + glTexParameteri(GL_TEXTURE_2D,GL_GENERATE_MIPMAP,GL_TRUE); glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage->w, TextureImage->h, 0, GL_BGR, GL_UNSIGNED_BYTE, TextureImage->pixels); - glGenerateMipmap(GL_TEXTURE_2D); -#else - gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage->w, TextureImage->h, GL_BGR, GL_UNSIGNED_BYTE, TextureImage->pixels); -#endif } SDL_DestroySurface(TextureImage); // Free The Image Structure @@ -375,7 +367,7 @@ bool CreateGLWindow(char* title, int width, int height, int bits, bool fullscree SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 1); - SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 1); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 4); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); // Must Support Double Buffering SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 0); // Select Our Color Depth SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 0); // Color Bits Ignored