// // Copyright Contributors to the MaterialX Project // SPDX-License-Identifier: Apache-2.0 // #ifndef MATERIALX_TEXTUREBAKERMSL #define MATERIALX_TEXTUREBAKERMSL /// @file /// Texture baking functionality #include #include #include #include #include #include #include MATERIALX_NAMESPACE_BEGIN /// A shared pointer to a TextureBakerMsl using TextureBakerPtr = shared_ptr; /// A vector of baked documents with their associated names. using BakedDocumentVec = std::vector>; /// @class TextureBakerMsl /// A helper class for baking procedural material content to textures. /// TODO: Add support for graphs containing geometric nodes such as position /// and normal. class MX_RENDERMSL_API TextureBakerMsl : public TextureBaker { public: static TextureBakerPtr create(unsigned int width = 1024, unsigned int height = 1024, Image::BaseType baseType = Image::BaseType::UINT8) { return TextureBakerPtr(new TextureBakerMsl(width, height, baseType)); } protected: TextureBakerMsl(unsigned int width, unsigned int height, Image::BaseType baseType); }; MATERIALX_NAMESPACE_END #endif