#include <ETSplattingManager.h>
Public Member Functions | |
SplattingManager (const std::string &baseName, const std::string &group, unsigned int width, unsigned int height, unsigned int channels=4) | |
~SplattingManager () | |
void | setNumTextures (unsigned int numTextures) |
unsigned int | getNumTextures () const |
void | setNumMaps (unsigned int numMaps) |
unsigned int | getNumMaps () const |
NameList | getMapTextureNames () const |
void | loadMapFromImage (unsigned int mapNum, const Ogre::Image &image) |
void | saveMapToImage (unsigned int mapNum, Ogre::Image &image) |
void | paint (unsigned int textureNum, int x, int y, const Brush &brush, float intensity=1.0f) |
void | createColourMap (Ogre::Image &image, const ColourList &colours) |
void | createBaseTexture (Ogre::Image &image, size_t width, size_t height, ImageList textures, float repeatX, float repeatZ) |
Private Attributes | |
Impl::SplattingImpl * | mImpl |
ET::SplattingManager::SplattingManager | ( | const std::string & | baseName, | |
const std::string & | group, | |||
unsigned int | width, | |||
unsigned int | height, | |||
unsigned int | channels = 4 | |||
) |
Constructs the splatting manager.
baseName | base name for the map textures (will be appended by their number) | |
group | the resource group the textures will be placed in | |
width | width of the textures in pixels | |
height | height of the textures in pixels | |
channels | Number of channels per texture (must be in {1, 2, 3, 4}) |
ET::SplattingManager::~SplattingManager | ( | ) |
void ET::SplattingManager::setNumTextures | ( | unsigned int | numTextures | ) |
Sets the amount of splatting textures you need coverage maps for. Note that this will round up to the next multiple of the channels per map.
unsigned int ET::SplattingManager::getNumTextures | ( | ) | const |
Retrieves the current amount of splatting textures covered.
void ET::SplattingManager::setNumMaps | ( | unsigned int | numMaps | ) |
Sets the number of coverage maps to manage.
unsigned int ET::SplattingManager::getNumMaps | ( | ) | const |
Retrieves the current amount of coverage maps.
NameList ET::SplattingManager::getMapTextureNames | ( | ) | const |
Retrieves the names of the map textures for use in materials.
void ET::SplattingManager::loadMapFromImage | ( | unsigned int | mapNum, | |
const Ogre::Image & | image | |||
) |
Loads a coverage map texture from an Ogre::Image.
void ET::SplattingManager::saveMapToImage | ( | unsigned int | mapNum, | |
Ogre::Image & | image | |||
) |
Saves a coverage map texture to an Ogre::Image.
void ET::SplattingManager::paint | ( | unsigned int | textureNum, | |
int | x, | |||
int | y, | |||
const Brush & | brush, | |||
float | intensity = 1.0f | |||
) |
Paint with the specified texture and selected brush and intensity.
void ET::SplattingManager::createColourMap | ( | Ogre::Image & | image, | |
const ColourList & | colours | |||
) |
Create a colour map with a given list of colours for the textures.
void ET::SplattingManager::createBaseTexture | ( | Ogre::Image & | image, | |
size_t | width, | |||
size_t | height, | |||
ImageList | textures, | |||
float | repeatX, | |||
float | repeatZ | |||
) |
Create base texture using the given list of splatting texture images. Be aware that this is expensive!
image | An Ogre image which is used as the output target. | |
width | The desired width of the base texture. | |
height | The desired height of the base texture. | |
textures | A list of splatting textures to use for the generation. | |
repeatX | How often should the textures be splatted in X direction? | |
repeatZ | How often should the textures be splatted in Z direction? |
Impl::SplattingImpl* ET::SplattingManager::mImpl [private] |