Changeset 7700 in orxonox.OLD for branches/water/src/lib/graphics
- Timestamp:
- May 18, 2006, 5:05:45 PM (19 years ago)
- Location:
- branches/water/src/lib/graphics/importer
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/water/src/lib/graphics/importer/material.cc
r7687 r7700 333 333 // MAPPING // 334 334 335 /** 336 * Sets the Materials Diffuse Map 335 void Material::setDiffuseMap(Texture* texture, unsigned int textureNumber) 336 { 337 assert(textureNumber < Material::getMaxTextureUnits()); 338 339 if (this->textures.size() > textureNumber && this->textures[textureNumber] != NULL) 340 ResourceManager::getInstance()->unload(this->textures[textureNumber]); 341 342 if (this->textures.size() <= textureNumber) 343 this->textures.resize(textureNumber+1, NULL); 344 345 //! @todo check if RESOURCE MANAGER is availiable 346 this->textures[textureNumber] = texture; 347 } 348 349 350 /** 351 * @brief Sets the Materials Diffuse Map 337 352 * @param dMap the Name of the Image to Use 338 353 */ -
branches/water/src/lib/graphics/importer/material.h
r7687 r7700 53 53 54 54 // MAPPING // 55 void setDiffuseMap(Texture* texture, unsigned int textureNumber = 0); 55 56 void setDiffuseMap(const std::string& dMap, GLenum target = GL_TEXTURE_2D, unsigned int textureNumber = 0); 56 57 void setSDLDiffuseMap(SDL_Surface *surface, GLenum target = GL_TEXTURE_2D, unsigned int textureNumber = 0); -
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 -
branches/water/src/lib/graphics/importer/texture.h
r7687 r7700 18 18 { 19 19 public: 20 Texture(const std::string& imageName = "", GLenum target = GL_TEXTURE_2D); 20 Texture(GLenum target = GL_TEXTURE_2D); 21 Texture(const std::string& imageName, GLenum target = GL_TEXTURE_2D); 21 22 Texture(SDL_Surface* surface, GLenum target = GL_TEXTURE_2D); 22 23 virtual ~Texture(); … … 50 51 private: 51 52 void init(); 53 static void generateTexture(GLuint& texture, GLenum target); 52 54 53 55 private:
Note: See TracChangeset
for help on using the changeset viewer.