![]() |
MaterialX 1.39.4
|
A helper class for baking procedural material content to textures. More...
#include <TextureBaker.h>
Classes | |
| class | BakedConstant |
| class | BakedImage |
Public Member Functions | |
| void | setExtension (const string &extension) |
| Set the file extension for baked textures. | |
| const string & | getExtension () const |
| Return the file extension for baked textures. | |
| void | setColorSpace (const string &colorSpace) |
| Set the color space in which color textures are encoded. | |
| const string & | getColorSpace () const |
| Return the color space in which color textures are encoded. | |
| void | setDistanceUnit (const string &unitSpace) |
| Set the distance unit to which textures are baked. Defaults to meters. | |
| const string & | getDistanceUnit () const |
| Return the distance unit to which textures are baked. | |
| void | setAverageImages (bool enable) |
| Set whether images should be averaged to generate constants. Defaults to false. | |
| bool | getAverageImages () const |
| Return whether images should be averaged to generate constants. | |
| void | setOptimizeConstants (bool enable) |
| Set whether uniform textures should be stored as constants. Defaults to true. | |
| bool | getOptimizeConstants () const |
| Return whether uniform textures should be stored as constants. | |
| void | setOutputImagePath (const FilePath &outputImagePath) |
| Set the output location for baked texture images. | |
| const FilePath & | getOutputImagePath () |
| Get the current output location for baked texture images. | |
| void | setBakedGraphName (const string &name) |
| Set the name of the baked graph element. | |
| const string & | getBakedGraphName () const |
| Return the name of the baked graph element. | |
| void | setBakedGeomInfoName (const string &name) |
| Set the name of the baked geometry info element. | |
| const string & | getBakedGeomInfoName () const |
| Return the name of the baked geometry info element. | |
| const string & | getTextureFilenameTemplate () const |
| Get the texture filename template. | |
| void | setTextureFilenameTemplate (const string &filenameTemplate) |
| Set the texture filename template. | |
| void | setFilenameTemplateVarOverride (const string &key, const string &value) |
| Set texFilenameOverrides if template variable exists. | |
| void | setOutputStream (std::ostream *outputStream) |
| Set the output stream for reporting progress and warnings. Defaults to std::cout. | |
| std::ostream * | getOutputStream () const |
| Return the output stream for reporting progress and warnings. | |
| void | setHashImageNames (bool enable) |
| Set whether to create a short name for baked images by hashing the baked image filenames This is useful for file systems which may have a maximum limit on filename size. | |
| bool | getHashImageNames () const |
| Return whether automatic baked texture resolution is set. | |
| void | setTextureSpaceMin (const Vector2 &min) |
| Set the minimum texcoords used in texture baking. Defaults to 0, 0. | |
| Vector2 | getTextureSpaceMin () const |
| Return the minimum texcoords used in texture baking. | |
| void | setTextureSpaceMax (const Vector2 &max) |
| Set the maximum texcoords used in texture baking. Defaults to 1, 1. | |
| Vector2 | getTextureSpaceMax () const |
| Return the maximum texcoords used in texture baking. | |
| void | setupUnitSystem (DocumentPtr unitDefinitions) |
| Set up the unit definitions to be used in baking. | |
| void | bakeShaderInputs (NodePtr material, NodePtr shader, GenContext &context, const string &udim=EMPTY_STRING) |
| Bake textures for all graph inputs of the given shader. | |
| void | bakeGraphOutput (OutputPtr output, GenContext &context, const StringMap &filenameTemplateMap) |
| Bake a texture for the given graph output. | |
| void | optimizeBakedTextures (NodePtr shader) |
| Optimize baked textures before writing. | |
| DocumentPtr | bakeMaterialToDoc (DocumentPtr doc, const FileSearchPath &searchPath, const string &materialPath, const StringVec &udimSet, std::string &documentName) |
| Bake material to document in memory and write baked textures to disk. | |
| void | bakeAllMaterials (DocumentPtr doc, const FileSearchPath &searchPath, const FilePath &outputFileName) |
| Bake materials in the given document and write them to disk. | |
| void | writeDocumentPerMaterial (bool value) |
| Set whether to write a separate document per material when calling bakeAllMaterials. | |
| string | getValueStringFromColor (const Color4 &color, const string &type) |
Protected Types | |
| using | BakedImageVec = vector<BakedImage> |
| using | BakedImageMap = std::unordered_map<OutputPtr, BakedImageVec> |
| using | BakedConstantMap = std::unordered_map<OutputPtr, BakedConstant> |
Protected Member Functions | |
| TextureBaker (unsigned int width, unsigned int height, Image::BaseType baseType, bool flipSavedImage) | |
| StringMap | initializeFileTemplateMap (InputPtr input, NodePtr shader, const string &udim=EMPTY_STRING) |
| size_t | findVarInTemplate (const string &filename, const string &var, size_t start=0) |
| FilePath | generateTextureFilename (const StringMap &fileTemplateMap) |
| DocumentPtr | generateNewDocumentFromShader (NodePtr shader, const StringVec &udimSet) |
| bool | writeBakedImage (const BakedImage &baked, ImagePtr image) |
Protected Attributes | |
| string | _extension |
| string | _colorSpace |
| string | _distanceUnit |
| bool | _averageImages |
| bool | _optimizeConstants |
| FilePath | _outputImagePath |
| string | _bakedGraphName |
| string | _bakedGeomInfoName |
| string | _textureFilenameTemplate |
| std::ostream * | _outputStream |
| bool | _hashImageNames |
| Vector2 | _textureSpaceMin |
| Vector2 | _textureSpaceMax |
| ShaderGeneratorPtr | _generator |
| ConstNodePtr | _material |
| ImagePtr | _frameCaptureImage |
| BakedImageMap | _bakedImageMap |
| BakedConstantMap | _bakedConstantMap |
| StringSet | _permittedOverrides |
| StringMap | _texTemplateOverrides |
| StringMap | _bakedInputMap |
| std::unordered_map< string, NodePtr > | _worldSpaceNodes |
| bool | _flipSavedImage |
| bool | _writeDocumentPerMaterial |
| DocumentPtr | _bakedTextureDoc |
A helper class for baking procedural material content to textures.
TODO: Add support for graphs containing geometric nodes such as position and normal.
| void bakeAllMaterials | ( | DocumentPtr | doc, |
| const FileSearchPath & | searchPath, | ||
| const FilePath & | outputFileName ) |
Bake materials in the given document and write them to disk.
If multiple documents are written, then the given output filename will be used as a template.
|
inline |
Set the color space in which color textures are encoded.
By default, this color space is srgb_texture, and color inputs are automatically transformed to this space by the baker. If another color space is set, then the input graph is responsible for transforming colors to this space.
|
inline |
Set whether to create a short name for baked images by hashing the baked image filenames This is useful for file systems which may have a maximum limit on filename size.
By default names are not hashed.
|
inline |
Set the output location for baked texture images.
Defaults to the root folder of the destination material.
|
inline |
Set whether to write a separate document per material when calling bakeAllMaterials.
By default separate documents are written.