Skip to content

Commit cf6b196

Browse files
authored
Remove TextureBakerPtr in favor of specific types (#2301)
The TextureBakerPtr defined in RenderPipeline.h isn't actually used in any place where a more concrete type of TextureBaker wouldn't be known. It seems like it was intended, or originally used, as the return type from `RenderPipeline::createTextureBaker` which is now using a full type erasure by returning a void pointer. As such, a generic type whose actual type depends on compiler switches isn't really needed, and explicit types of `TextureBakerGlslPtr` and `TextureBakerMslPtr` seem clearer.
1 parent 2cd432c commit cf6b196

7 files changed

Lines changed: 10 additions & 18 deletions

File tree

source/MaterialXRenderGlsl/TextureBaker.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
MATERIALX_NAMESPACE_BEGIN
2020

2121
/// A shared pointer to a TextureBaker
22-
using TextureBakerPtr = shared_ptr<class TextureBakerGlsl>;
22+
using TextureBakerGlslPtr = shared_ptr<class TextureBakerGlsl>;
2323

2424
/// A vector of baked documents with their associated names.
2525
using BakedDocumentVec = std::vector<std::pair<std::string, DocumentPtr>>;
@@ -29,9 +29,9 @@ using BakedDocumentVec = std::vector<std::pair<std::string, DocumentPtr>>;
2929
class MX_RENDERGLSL_API TextureBakerGlsl : public TextureBaker<GlslRenderer, GlslShaderGenerator>
3030
{
3131
public:
32-
static TextureBakerPtr create(unsigned int width = 1024, unsigned int height = 1024, Image::BaseType baseType = Image::BaseType::UINT8)
32+
static TextureBakerGlslPtr create(unsigned int width = 1024, unsigned int height = 1024, Image::BaseType baseType = Image::BaseType::UINT8)
3333
{
34-
return TextureBakerPtr(new TextureBakerGlsl(width, height, baseType));
34+
return TextureBakerGlslPtr(new TextureBakerGlsl(width, height, baseType));
3535
}
3636

3737
TextureBakerGlsl(unsigned int width, unsigned int height, Image::BaseType baseType);

source/MaterialXRenderMsl/TextureBaker.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
MATERIALX_NAMESPACE_BEGIN
2020

2121
/// A shared pointer to a TextureBakerMsl
22-
using TextureBakerPtr = shared_ptr<class TextureBakerMsl>;
22+
using TextureBakerMslPtr = shared_ptr<class TextureBakerMsl>;
2323

2424
/// A vector of baked documents with their associated names.
2525
using BakedDocumentVec = std::vector<std::pair<std::string, DocumentPtr>>;
@@ -31,9 +31,9 @@ using BakedDocumentVec = std::vector<std::pair<std::string, DocumentPtr>>;
3131
class MX_RENDERMSL_API TextureBakerMsl : public TextureBaker<MslRenderer, MslShaderGenerator>
3232
{
3333
public:
34-
static TextureBakerPtr create(unsigned int width = 1024, unsigned int height = 1024, Image::BaseType baseType = Image::BaseType::UINT8)
34+
static TextureBakerMslPtr create(unsigned int width = 1024, unsigned int height = 1024, Image::BaseType baseType = Image::BaseType::UINT8)
3535
{
36-
return TextureBakerPtr(new TextureBakerMsl(width, height, baseType));
36+
return TextureBakerMslPtr(new TextureBakerMsl(width, height, baseType));
3737
}
3838

3939
protected:

source/MaterialXView/RenderPipeline.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,6 @@
1818
#include <MaterialXCore/Value.h>
1919
#include <MaterialXCore/Unit.h>
2020

21-
MATERIALX_NAMESPACE_BEGIN
22-
#ifdef MATERIALXVIEW_METAL_BACKEND
23-
using TextureBakerPtr = shared_ptr<class TextureBakerMsl>;
24-
#else
25-
using TextureBakerPtr = shared_ptr<class TextureBakerGlsl>;
26-
#endif
27-
MATERIALX_NAMESPACE_END
28-
2921
#include <memory>
3022

3123
namespace mx = MaterialX;

source/MaterialXView/RenderPipelineGL.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,7 @@ void GLRenderPipeline::bakeTextures()
491491
// Construct a texture baker.
492492
mx::Image::BaseType baseType = _viewer->_bakeHdr ? mx::Image::BaseType::FLOAT : mx::Image::BaseType::UINT8;
493493
mx::UnsignedIntPair bakingRes = _viewer->computeBakingResolution(doc);
494-
mx::TextureBakerPtr baker = std::static_pointer_cast<mx::TextureBakerPtr::element_type>(createTextureBaker(bakingRes.first, bakingRes.second, baseType));
494+
mx::TextureBakerGlslPtr baker = std::static_pointer_cast<mx::TextureBakerGlsl>(createTextureBaker(bakingRes.first, bakingRes.second, baseType));
495495
baker->setupUnitSystem(_viewer->_stdLib);
496496
baker->setDistanceUnit(_viewer->_genContext.getOptions().targetDistanceUnit);
497497
baker->setAverageImages(_viewer->_bakeAverage);

source/MaterialXView/RenderPipelineMetal.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,7 @@
664664
// Construct a texture baker.
665665
mx::Image::BaseType baseType = _viewer->_bakeHdr ? mx::Image::BaseType::FLOAT : mx::Image::BaseType::UINT8;
666666
mx::UnsignedIntPair bakingRes = _viewer->computeBakingResolution(doc);
667-
mx::TextureBakerPtr baker = std::static_pointer_cast<mx::TextureBakerPtr::element_type>(createTextureBaker(bakingRes.first, bakingRes.second, baseType));
667+
mx::TextureBakerMslPtr baker = std::static_pointer_cast<mx::TextureBakerMsl>(createTextureBaker(bakingRes.first, bakingRes.second, baseType));
668668
baker->setupUnitSystem(_viewer->_stdLib);
669669
baker->setDistanceUnit(_viewer->_genContext.getOptions().targetDistanceUnit);
670670
baker->setAverageImages(_viewer->_bakeAverage);

source/PyMaterialX/PyMaterialXRenderGlsl/PyTextureBaker.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace mx = MaterialX;
1313

1414
void bindPyTextureBaker(py::module& mod)
1515
{
16-
py::class_<mx::TextureBakerGlsl, mx::GlslRenderer, mx::TextureBakerPtr>(mod, "TextureBaker")
16+
py::class_<mx::TextureBakerGlsl, mx::GlslRenderer, mx::TextureBakerGlslPtr>(mod, "TextureBaker")
1717
.def_static("create", &mx::TextureBakerGlsl::create)
1818
.def("setExtension", &mx::TextureBakerGlsl::setExtension)
1919
.def("getExtension", &mx::TextureBakerGlsl::getExtension)

source/PyMaterialX/PyMaterialXRenderMsl/PyTextureBaker.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
void bindPyTextureBaker(py::module& mod)
1515
{
16-
py::class_<mx::TextureBakerMsl, mx::MslRenderer, mx::TextureBakerPtr>(mod, "TextureBaker")
16+
py::class_<mx::TextureBakerMsl, mx::MslRenderer, mx::TextureBakerMslPtr>(mod, "TextureBaker")
1717
.def_static("create", &mx::TextureBakerMsl::create)
1818
.def("setExtension", &mx::TextureBakerMsl::setExtension)
1919
.def("getExtension", &mx::TextureBakerMsl::getExtension)

0 commit comments

Comments
 (0)