Changeset 7700 in orxonox.OLD for branches/water/src/lib/graphics/importer/texture.cc
- Timestamp:
- May 18, 2006, 5:05:45 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/water/src/lib/graphics/importer/texture.cc
r7687 r7700 29 29 #endif 30 30 31 32 33 34 Texture::Texture(GLenum target) 35 { 36 this->init(); 37 this->generateTexture(texture, target); 38 } 39 31 40 /** 32 41 * Constructor for a Texture … … 42 51 } 43 52 } 53 54 44 55 45 56 Texture::Texture(SDL_Surface* surface, GLenum target) … … 150 161 151 162 /** 152 * rebuilds the texture.163 * @brief rebuilds the texture. 153 164 * reloads the Texture from Memory to OpenGL. 154 165 */ … … 171 182 172 183 /** 173 * set the surface this Texture handles184 * @brief set the surface this Texture handles 174 185 * @param newSurface the new Surface to set as the image for this Texture. 175 186 * … … 191 202 192 203 /** 193 * enables, disables textures204 * @brief enables, disables textures 194 205 * @param texturesEnabled true if the textures should be enabled 195 206 */ … … 204 215 ////////////////////////////////////// 205 216 /** 206 * converts surface to a new SDL_Surface, that is loadable by openGL217 * @brief converts surface to a new SDL_Surface, that is loadable by openGL 207 218 * @param surface the Surface to convert 208 219 * @param hasAlpha if the newly created Surface has an alpha channel, true is returned otherwise false. … … 266 277 267 278 /** 268 * Loads a Texture to the openGL-environment.279 * @brief Loads a Texture to the openGL-environment. 269 280 * @param surface the Image to load to openGL 270 281 * @returns The ID of the texture. … … 277 288 278 289 int errorCode = 0; //!< the error code for the texture loading functions 279 GLuint texture ;//!< the OpenGL texture handle290 GLuint texture = 0; //!< the OpenGL texture handle 280 291 int mipmapLevel = 0; //!< the maximum mipmap level for this texture 281 292 int mipmapWidth = 0; //!< the width of the mipmap … … 287 298 288 299 /* Create an OpenGL texture for the image */ 289 glGenTextures(1, &texture); 290 glBindTexture(target, texture); 291 292 glTexParameteri(target, GL_TEXTURE_WRAP_S, GL_REPEAT); 293 glTexParameteri(target, GL_TEXTURE_WRAP_R, GL_REPEAT); 294 295 glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 296 glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 297 300 this->generateTexture(texture, target); 298 301 glTexParameterf(GL_TEXTURE_ENV, GL_TEXTURE_PRIORITY, this->priority); 299 300 301 /* control the mipmap levels */302 glTexParameterf(GL_TEXTURE_ENV, GL_TEXTURE_MIN_LOD, 5);303 glTexParameterf(GL_TEXTURE_ENV, GL_TEXTURE_MAX_LOD, 0);304 302 305 303 /* build the Texture OpenGL V >= 1.1 */ … … 330 328 } 331 329 330 void Texture::generateTexture(GLuint& texture, GLenum target) 331 { 332 if (!glIsTexture(texture)) 333 { 334 glGenTextures(1, &texture); 335 } 336 glBindTexture(target, texture); 337 338 glTexParameteri(target, GL_TEXTURE_WRAP_S, GL_REPEAT); 339 glTexParameteri(target, GL_TEXTURE_WRAP_R, GL_REPEAT); 340 341 glTexParameteri(target, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 342 glTexParameteri(target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 343 344 /* control the mipmap levels */ 345 glTexParameterf(GL_TEXTURE_ENV, GL_TEXTURE_MIN_LOD, 5); 346 glTexParameterf(GL_TEXTURE_ENV, GL_TEXTURE_MAX_LOD, 0); 347 } 348
Note: See TracChangeset
for help on using the changeset viewer.