Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full JS bindings for MaterialX Core #1203

Merged
merged 33 commits into from
May 26, 2021

Conversation

sdunkel
Copy link
Collaborator

@sdunkel sdunkel commented May 17, 2021

This PR completes the set of bindings for the MaterialXCore package. Additional tests will follow.

Update: #1184

@sdunkel sdunkel added the Do Not Merge This PR should not be merged label May 17, 2021
source/JsMaterialX/JsMaterialXCore/JsDefinition.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsDefinition.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsDefinition.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsElement.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsElement.cpp Outdated Show resolved Hide resolved
Copy link
Collaborator

@frericp frericp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good already. I think we should streamline some things in a clean-up pass, like consistent typedefs, macro interfaces (including documented usage, e.g. with respect to closing semicolons), and indentation.

source/JsMaterialX/JsMaterialXCore/JsDefinition.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsElement.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsElement.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsUtil.cpp Show resolved Hide resolved
source/JsMaterialX/test/basics.spec.js Show resolved Hide resolved
source/JsMaterialX/test/codeExamples.spec.js Outdated Show resolved Hide resolved
source/JsMaterialX/test/codeExamples.spec.js Outdated Show resolved Hide resolved
source/JsMaterialX/test/readXml.spec.js Show resolved Hide resolved
@frericp
Copy link
Collaborator

frericp commented May 17, 2021

How did you organize the bindings so far, regarding their order? Are they defined in the same order as in the C++ headers?

Copy link
Collaborator Author

@sdunkel sdunkel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't have the bindings for stuff in material.h

source/JsMaterialX/JsMaterialXCore/JsGeom.cpp Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsGeom.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsGeom.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsInterface.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsInterface.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsInterface.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsInterface.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsLook.cpp Show resolved Hide resolved
@sdunkel
Copy link
Collaborator Author

sdunkel commented May 17, 2021

Yes, we try to have the same order in cpp and js binding to make it easier to compare both

source/JsMaterialX/JsMaterialXCore/JsProperty.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsTypes.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsTypes.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsTypes.js Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsUnit.cpp Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsUnit.cpp Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsUtil.cpp Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsValue.cpp Outdated Show resolved Hide resolved
@frericp frericp removed the Do Not Merge This PR should not be merged label May 21, 2021
source/JsMaterialX/JsMaterialXCore/JsDocument.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsGeom.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsGeom.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsInterface.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsTraversal.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsUtil.cpp Outdated Show resolved Hide resolved
source/JsMaterialX/JsMaterialXCore/JsUtil.cpp Show resolved Hide resolved
source/JsMaterialX/helpers.h Outdated Show resolved Hide resolved
source/JsMaterialX/helpers.h Outdated Show resolved Hide resolved
Copy link

@bernardkwok bernardkwok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks.
The nitpick comments I've left for merge time.

@@ -1,13 +1,16 @@

#include "../vectorHelper.h"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nitpick: To prep for merging we should stick with an CamelCase.h naming convention for file names for both of these.

#include <MaterialXCore/Geom.h>

#include <emscripten.h>
#include <emscripten/bind.h>

namespace ems = emscripten;
namespace mx = MaterialX;

#define BIND_GEOMINFO_FUNC_INSTANCE(NAME, T) \

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a note. "#define" aren't really used for the library and "using" is used instead. I'm not sure if it applies to hear bit a merge head-up.

@sdunkel sdunkel merged commit b836508 into adsk_contrib/dev May 26, 2021
@sdunkel sdunkel deleted the adsk_contrib/core_jsbinding_update branch May 26, 2021 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants