• Content count

  • Joined

  • Last visited

Community Reputation

100 Neutral

About Tweener

  • Rank
  1. a little help with tutorial 7 and SOIL

    This is what I've come up with using MinGW: First remove #include <gl\glaux.h> and add #include "SOIL.h". #include <stdio.h> can also be removed. Remove the bmp loading function as in Lesson 06 then change LoadGLTextures() in the following manner (different code posted 1-14-12 for a more flexible framework) [CODE] int LoadGLTextures() { unsigned int SOIL_flags; GLint mag_param; GLint min_param; for (int i=0; i<3; i++) { switch(i) { case 0: /* SOIL.h uses enum instead of #define for named flag values; easiest just to look them up */ SOIL_flags = 16; // SOIL_FLAG_INVERT_Y value mag_param = GL_NEAREST; min_param = GL_NEAREST; break; case 1: SOIL_flags = 16; mag_param = GL_LINEAR; min_param = GL_LINEAR; break; case 2: SOIL_flags = 16 | 2; // SOIL_FLAG_INVERT_Y | SOIL_FLAG_MIPMAPS value mag_param = GL_LINEAR; min_param = GL_LINEAR_MIPMAP_NEAREST; break; default: return false; } texture[i]=SOIL_load_OGL_texture ( "Data/Crate.bmp", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_flags); if (texture[i] == 0) return false; // Define Texture Parameters glBindTexture(GL_TEXTURE_2D, texture[i]); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, mag_param); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, min_param); } return true; } [/CODE] Also, I have been removing GLvoid from all function parameter lists leaving empty parenthesis as it is evidently not valid C++ to pass a void type as a parameter and MinGW complains. Finally, the first parameter of CreateGLWindow should be changed from "char* title" to "const char* title". With SOIL.h and libSOIL.a in the same directory as the lesson7.cpp file, MinGW compiles and links fine using: g++ -mwindows lesson7.cpp -o lesson7.exe -L. -lSOIL -lopengl32 -lglu32