Skip to content

Commit 5587773

Browse files
Attempt to fix JS bindings
1 parent aeeb613 commit 5587773

File tree

6 files changed

+60
-6
lines changed

6 files changed

+60
-6
lines changed

source/JsMaterialX/JsMaterialXGenEssl/JsEsslShaderGenerator.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
namespace ems = emscripten;
1212
namespace mx = MaterialX;
1313

14+
namespace
15+
{
16+
// Creator wrapper to avoid having to expose the TypeSystem class in JavaScript
17+
mx::ShaderGeneratorPtr EsslShaderGenerator_create()
18+
{
19+
return mx::EsslShaderGenerator::create();
20+
}
21+
}
22+
1423
EMSCRIPTEN_BINDINGS(EsslShaderGenerator)
1524
{
1625
ems::class_<mx::EsslShaderGenerator, ems::base<mx::GlslShaderGenerator>>("EsslShaderGenerator")
17-
BIND_CLASS_FUNC("create", mx::EsslShaderGenerator, create);
26+
.class_function("create", &EsslShaderGenerator_create);
1827
}

source/JsMaterialX/JsMaterialXGenGlsl/JsGlslShaderGenerator.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
namespace ems = emscripten;
1212
namespace mx = MaterialX;
1313

14+
namespace
15+
{
16+
// Creator wrapper to avoid having to expose the TypeSystem class in JavaScript
17+
mx::ShaderGeneratorPtr GlslShaderGenerator_create()
18+
{
19+
return mx::GlslShaderGenerator::create();
20+
}
21+
}
22+
1423
EMSCRIPTEN_BINDINGS(GlslShaderGenerator)
1524
{
1625
ems::class_<mx::GlslShaderGenerator, ems::base<mx::HwShaderGenerator>>("GlslShaderGenerator")
17-
BIND_CLASS_FUNC("create", mx::GlslShaderGenerator, create);
26+
.class_function("create", &GlslShaderGenerator_create);
1827
}

source/JsMaterialX/JsMaterialXGenMdl/JsMdlShaderGenerator.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
namespace ems = emscripten;
1212
namespace mx = MaterialX;
1313

14+
namespace
15+
{
16+
// Creator wrapper to avoid having to expose the TypeSystem class in JavaScript
17+
mx::ShaderGeneratorPtr MdlShaderGenerator_create()
18+
{
19+
return mx::MdlShaderGenerator::create();
20+
}
21+
}
22+
1423
EMSCRIPTEN_BINDINGS(MdlShaderGenerator)
1524
{
1625
ems::class_<mx::MdlShaderGenerator, ems::base<mx::ShaderGenerator>>("MdlShaderGenerator")
17-
BIND_CLASS_FUNC("create", mx::MdlShaderGenerator, create);
26+
.class_function("create", &MdlShaderGenerator_create);
1827
}

source/JsMaterialX/JsMaterialXGenMsl/JsMslShaderGenerator.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
namespace ems = emscripten;
1212
namespace mx = MaterialX;
1313

14+
namespace
15+
{
16+
// Creator wrapper to avoid having to expose the TypeSystem class in JavaScript
17+
mx::ShaderGeneratorPtr MslShaderGenerator_create()
18+
{
19+
return mx::MslShaderGenerator::create();
20+
}
21+
}
22+
1423
EMSCRIPTEN_BINDINGS(MslShaderGenerator)
1524
{
1625
ems::class_<mx::MslShaderGenerator, ems::base<mx::HwShaderGenerator>>("MslShaderGenerator")
17-
BIND_CLASS_FUNC("create", mx::MslShaderGenerator, create);
26+
.class_function("create", &MslShaderGenerator_create);
1827
}

source/JsMaterialX/JsMaterialXGenOsl/JsOslShaderGenerator.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
namespace ems = emscripten;
1212
namespace mx = MaterialX;
1313

14+
namespace
15+
{
16+
// Creator wrapper to avoid having to expose the TypeSystem class in JavaScript
17+
mx::ShaderGeneratorPtr OslShaderGenerator_create()
18+
{
19+
return mx::OslShaderGenerator::create();
20+
}
21+
}
22+
1423
EMSCRIPTEN_BINDINGS(OslShaderGenerator)
1524
{
1625
ems::class_<mx::OslShaderGenerator, ems::base<mx::ShaderGenerator>>("OslShaderGenerator")
17-
BIND_CLASS_FUNC("create", mx::OslShaderGenerator, create);
26+
.class_function("create", &OslShaderGenerator_create);
1827
}

source/JsMaterialX/JsMaterialXGenVk/JsVkShaderGenerator.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
namespace ems = emscripten;
1212
namespace mx = MaterialX;
1313

14+
namespace
15+
{
16+
// Creator wrapper to avoid having to expose the TypeSystem class in JavaScript
17+
mx::ShaderGeneratorPtr VkShaderGenerator_create()
18+
{
19+
return mx::VkShaderGenerator::create();
20+
}
21+
}
22+
1423
EMSCRIPTEN_BINDINGS(VkShaderGenerator)
1524
{
1625
ems::class_<mx::VkShaderGenerator, ems::base<mx::GlslShaderGenerator>>("VkShaderGenerator")
17-
BIND_CLASS_FUNC("create", mx::VkShaderGenerator, create);
26+
.class_function("create", &VkShaderGenerator_create);
1827
}

0 commit comments

Comments
 (0)