|
|
|
|
Documentation |
|
Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages Search
NL3D::CAsyncTextureManager Class ReferenceAsync Loader of textures and Texture Load Balancer.
More...
#include <async_texture_manager.h>
List of all members.
Detailed Description
Async Loader of textures and Texture Load Balancer.
Additionaly, store in RAM for each texture load a very low, DXTC1 compressed version of the texture. Used for some Lod systems. -
Author:
-
Lionel Berenguier , Nevrax France
-
Date:
-
2002
Definition at line 53 of file async_texture_manager.h.
Member Typedef Documentation
typedef TTextureEntryMap::iterator NL3D::CAsyncTextureManager::ItTextureEntryMap [private]
|
|
typedef std::map<std::string, uint> NL3D::CAsyncTextureManager::TTextureEntryMap [private]
|
|
Constructor & Destructor Documentation
NL3D::CAsyncTextureManager::CAsyncTextureManager |
( |
|
) |
|
|
NL3D::CAsyncTextureManager::~CAsyncTextureManager |
( |
|
) |
|
|
Member Function Documentation
uint NL3D::CAsyncTextureManager::addTextureRef |
( |
const std::string & |
textName, |
|
|
CMeshBaseInstance * |
instance |
|
) |
|
|
|
Add a reference to a texture owned by an instance.
If the texture still exist, only the refcount is incremented Else If texture is found in the HLSTextureManager, it is builded (async) from it, else Begin Async loading
ThereFore, only CTextureFile are possible. Note also that the texture is uploaded with mipmap by default, and UpLoadFormat is also default (say ITexture::Auto)
If the texture file is not a DDS with mipmap, this is an error. But the system doens't fail and the file is entirely loaded and uploaded. The problem is that upload is not cut according to maxUpLoadPerFrame, so some freeze may occur. |
void NL3D::CAsyncTextureManager::deleteTexture |
( |
uint |
id |
) |
[private] |
|
|
get the RAM LowDef version of a texture.
Used For CLodCharacters return NULL if bad Id or if the texture is still not loaded. The bitmap returned has no mipmaps and should be in DXTC1 (not guaranteed).
Definition at line 343 of file async_texture_manager.cpp.
References _TextureEntries, and id. |
uint NL3D::CAsyncTextureManager::getLastTextureSizeGot |
( |
|
) |
const [inline] |
|
void NL3D::CAsyncTextureManager::getNextTextureToUpLoad |
( |
uint & |
nTotalColored, |
|
|
IDriver * |
pDriver |
|
) |
[private] |
|
|
Definition at line 552 of file async_texture_manager.cpp.
References _CurrentTextureLodLoaded, _CurrentUploadTexture, _CurrentUploadTextureLine, _CurrentUploadTextureMipMap, _MaxHLSColoringPerFrame, _TextureEntries, _WaitingTextures, HLSManager, NL3D::CAsyncTextureManager::CTextureLod::Loaded, nlverify, and updateTextureLodSystem.
Referenced by update. |
uint NL3D::CAsyncTextureManager::getTotalTextureSizeAsked |
( |
|
) |
const [inline] |
|
bool NL3D::CAsyncTextureManager::isTextureUpLoaded |
( |
uint |
id |
) |
const |
|
void NL3D::CAsyncTextureManager::setupLod |
( |
uint |
baseLevel, |
|
|
uint |
maxLevel |
|
) |
|
|
|
setup the mipMap levels.
\baseLevel When the texture is first added, it is loaded skipping the baseLevel first mipmap \maxLevel During time, furhter mipmap are loaded, according to instance position etc... maxLevel tells where to stop. If 0, the texture will finally be entirely uploaded. Default is 3,1.
Definition at line 121 of file async_texture_manager.cpp.
References _BaseLodLevel, _MaxLodLevel, and nlassert. |
void NL3D::CAsyncTextureManager::setupMaxHLSColoringPerFrame |
( |
uint |
maxCol |
) |
|
|
void NL3D::CAsyncTextureManager::setupMaxTotalTextureSize |
( |
uint |
maxText |
) |
|
|
void NL3D::CAsyncTextureManager::setupMaxUploadPerFrame |
( |
uint |
maxup |
) |
|
|
void NL3D::CAsyncTextureManager::update |
( |
IDriver * |
pDriver |
) |
|
|
void NL3D::CAsyncTextureManager::updateTextureLodSystem |
( |
IDriver * |
pDriver |
) |
[private] |
|
bool NL3D::CAsyncTextureManager::uploadTexturePart |
( |
ITexture * |
pText, |
|
|
IDriver * |
pDriver, |
|
|
uint & |
nTotalUpload |
|
) |
[private] |
|
bool NL3D::CAsyncTextureManager::validDXTCMipMap |
( |
ITexture * |
pText |
) |
[static, private] |
|
Member Data Documentation
uint NL3D::CAsyncTextureManager::_BaseLodLevel [private]
|
|
CTextureLod* NL3D::CAsyncTextureManager::_CurrentTextureLodLoaded [private]
|
|
CTextureBase* NL3D::CAsyncTextureManager::_CurrentUploadTexture [private]
|
|
uint NL3D::CAsyncTextureManager::_CurrentUploadTextureLine [private]
|
|
uint NL3D::CAsyncTextureManager::_CurrentUploadTextureMipMap [private]
|
|
std::vector<uint> NL3D::CAsyncTextureManager::_FreeTextureIds [private]
|
|
uint NL3D::CAsyncTextureManager::_LastTextureSizeGot [private]
|
|
uint NL3D::CAsyncTextureManager::_MaxHLSColoringPerFrame [private]
|
|
uint NL3D::CAsyncTextureManager::_MaxLodLevel [private]
|
|
uint NL3D::CAsyncTextureManager::_MaxTotalTextureSize [private]
|
|
uint NL3D::CAsyncTextureManager::_MaxUploadPerFrame [private]
|
|
std::vector<CTextureEntry*> NL3D::CAsyncTextureManager::_TextureEntries [private]
|
|
uint NL3D::CAsyncTextureManager::_TotalTextureSizeAsked [private]
|
|
std::vector<uint> NL3D::CAsyncTextureManager::_WaitingTextures [private]
|
|
The documentation for this class was generated from the following files:
|
|