HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TextureBaker.h
Go to the documentation of this file.
1 //
2 // Copyright Contributors to the MaterialX Project
3 // SPDX-License-Identifier: Apache-2.0
4 //
5 
6 #ifndef MATERIALX_TEXTUREBAKER_GLSL
7 #define MATERIALX_TEXTUREBAKER_GLSL
8 
9 /// @file
10 /// Texture baking functionality
11 
13 
15 
18 
20 
21 /// A shared pointer to a TextureBaker
22 using TextureBakerPtr = shared_ptr<class TextureBakerGlsl>;
23 
24 /// A vector of baked documents with their associated names.
25 using BakedDocumentVec = std::vector<std::pair<std::string, DocumentPtr>>;
26 
27 /// @class TextureBakerGlsl
28 /// An implementation of TextureBaker based on GLSL shader generation.
29 class MX_RENDERGLSL_API TextureBakerGlsl : public TextureBaker<GlslRenderer, GlslShaderGenerator>
30 {
31  public:
32  static TextureBakerPtr create(unsigned int width = 1024, unsigned int height = 1024, Image::BaseType baseType = Image::BaseType::UINT8)
33  {
34  return TextureBakerPtr(new TextureBakerGlsl(width, height, baseType));
35  }
36 
37  TextureBakerGlsl(unsigned int width, unsigned int height, Image::BaseType baseType);
38 };
39 
41 
42 #endif
#define MATERIALX_NAMESPACE_BEGIN
Definition: Generated.h:25
std::vector< std::pair< std::string, DocumentPtr >> BakedDocumentVec
A vector of baked documents with their associated names.
Definition: TextureBaker.h:24
GLint GLsizei GLsizei height
Definition: glcorearb.h:103
BaseType
Definition: Image.h:48
#define MX_RENDERGLSL_API
Definition: Export.h:18
shared_ptr< class TextureBakerGlsl > TextureBakerPtr
A shared pointer to a TextureBaker.
Definition: TextureBaker.h:22
static TextureBakerPtr create(unsigned int width=1024, unsigned int height=1024, Image::BaseType baseType=Image::BaseType::UINT8)
Definition: TextureBaker.h:32
GLint GLsizei width
Definition: glcorearb.h:103
#define MATERIALX_NAMESPACE_END
Definition: Generated.h:26