Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/graphics/importer/resource_texture.cc @ 10147

Last change on this file since 10147 was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.6 KB
RevLine 
[9781]1
2#include "resource_texture.h"
[9823]3#include "substring.h"
4#include "multi_type.h"
[9790]5#include "debug.h"
[9781]6
7
[9854]8ResourceTexture::ResourceTexture(const std::string& imageName, GLenum target, const Resources::KeepLevel& keepLevel)
[9847]9    : Resource(&ResourceTexture::type)
[9784]10{
[9842]11  Resources::StorePointer* ptr = this->acquireResource(imageName + ',' + MultiType((int)target).getString());
[9781]12
[9784]13  if (ptr)
[9786]14  {
[9831]15    PRINTF(5)("FOUND TEXTURE: %s\n", imageName.c_str());
[9784]16    this->acquireData(static_cast<ResourceTexture::TextureResourcePointer*>(ptr)->ptr());
[9786]17  }
[9784]18  else
19  {
[9831]20    PRINTF(5)("NOT FOUND TEXTURE: %s\n", imageName.c_str());
[9847]21    std::string fileName = this->Resource::locateFile(imageName);
[9785]22    this->Texture::loadImage(fileName, target);
[9854]23    this->Resource::addResource(new ResourceTexture::TextureResourcePointer(imageName + ',' + MultiType((int)target).getString(), keepLevel, this->Texture::dataPointer()));
[9784]24  }
25}
26
[9854]27ResourceTexture ResourceTexture::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel)
[9823]28{
29  SubString loadValues(loadString, ',');
30  std::string imageName;
31  GLenum target = GL_TEXTURE_2D;
32  if (loadValues.size() > 0)
33    imageName = loadValues[0];
34  if (loadValues.size() > 1)
35    target = (GLenum)MultiType(loadValues[2]).getInt();
[9784]36
[9854]37  return ResourceTexture(imageName, target, keepLevel);
[9823]38}
[9784]39
40
41
[9823]42Resources::tType<ResourceTexture> ResourceTexture::type("Texture");
[9784]43
44
[9823]45
46
47
[9791]48ResourceTexture::TextureResourcePointer::TextureResourcePointer(const std::string& loadString, const Resources::KeepLevel& keepLevel, const TextureData::Pointer& data)
49    : Resources::StorePointer(loadString, keepLevel) , pointer(data)
[9785]50{}
[9781]51
52
Note: See TracBrowser for help on using the repository browser.