CrystalSpace

Public API Reference

Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

csTextureManager Class Reference

General version of the texture manager. More...

#include <csplugincommon/render3d/txtmgr.h>

Inheritance diagram for csTextureManager:

iTextureManager iBase List of all members.

Public Member Functions

 csTextureManager (iObjectRegistry *object_reg, iGraphics2D *iG2D)
 Initialize the texture manager.
virtual ~csTextureManager ()
 Destroy the texture manager.
void UnregisterMaterial (csMaterialHandle *handle)
 Called from csMaterialHandle destructor to notify parent texture manager that a material is going to be destroyed.
virtual void Clear ()
 Clear (free) all textures.
virtual int GetTextureFormat ()
 Query the basic format of textures that can be registered with this texture manager.
virtual csPtr< iMaterialHandleRegisterMaterial (iMaterial *material)
 Register a material.
virtual csPtr< iMaterialHandleRegisterMaterial (iTextureHandle *txthandle)
 Register a material based on a texture handle.
virtual void FreeMaterials ()
 Default stub implementation until the material system is actually working.

Public Attributes

csPixelFormat pfmt
 Pixel format.

Protected Member Functions

virtual void read_config (iConfigFile *config)
 Read configuration values from config file.

Protected Attributes

csTexVector textures
 List of textures.
csMatVector materials
 List of materials.

Detailed Description

General version of the texture manager.

Each 3D driver should derive a texture manager class from this one and implement the missing functionality.

Definition at line 314 of file txtmgr.h.


Constructor & Destructor Documentation

csTextureManager::csTextureManager iObjectRegistry object_reg,
iGraphics2D iG2D
 

Initialize the texture manager.

virtual csTextureManager::~csTextureManager  )  [virtual]
 

Destroy the texture manager.


Member Function Documentation

virtual void csTextureManager::Clear  )  [inline, virtual]
 

Clear (free) all textures.

Definition at line 358 of file txtmgr.h.

virtual void csTextureManager::FreeMaterials  )  [virtual]
 

Default stub implementation until the material system is actually working.

Implements iTextureManager.

virtual int csTextureManager::GetTextureFormat  )  [virtual]
 

Query the basic format of textures that can be registered with this texture manager.

It is very likely that the texture manager will reject the texture if it is in an improper format. The alpha channel is optional; the texture can have it and can not have it. Only the bits that fit the CS_IMGFMT_MASK mask matters.

Implements iTextureManager.

virtual void csTextureManager::read_config iConfigFile config  )  [protected, virtual]
 

Read configuration values from config file.

virtual csPtr<iMaterialHandle> csTextureManager::RegisterMaterial iTextureHandle txthandle  )  [virtual]
 

Register a material based on a texture handle.

This is a short-cut to quickly make materials based on a single texture.

Implements iTextureManager.

virtual csPtr<iMaterialHandle> csTextureManager::RegisterMaterial iMaterial material  )  [virtual]
 

Register a material.

The input material wrapper is IncRef'd and DecRef'ed later when FreeMaterials () is called or the material handle is destroyed by calling DecRef on it enough times. If you want to keep the input material make sure you have called IncRef yourselves.

Implements iTextureManager.

void csTextureManager::UnregisterMaterial csMaterialHandle handle  ) 
 

Called from csMaterialHandle destructor to notify parent texture manager that a material is going to be destroyed.


Member Data Documentation

csMatVector csTextureManager::materials [protected]
 

List of materials.

Definition at line 329 of file txtmgr.h.

csPixelFormat csTextureManager::pfmt
 

Pixel format.

Definition at line 338 of file txtmgr.h.

csTexVector csTextureManager::textures [protected]
 

List of textures.

Definition at line 322 of file txtmgr.h.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.3.9.1