Skip to content

Add hextiled example material#2356

Merged
jstone-lucasfilm merged 3 commits intoAcademySoftwareFoundation:mainfrom
jstone-lucasfilm:main
Apr 28, 2025
Merged

Add hextiled example material#2356
jstone-lucasfilm merged 3 commits intoAcademySoftwareFoundation:mainfrom
jstone-lucasfilm:main

Conversation

@jstone-lucasfilm
Copy link
Copy Markdown
Member

This changelist adds a visually-motivated example material for the hextiledimage node, providing a reference point for future language implementations and improvements. For visibility, a note about missing implementations of hextiledimage and hextilednormalmap in MSL, OSL, and MDL has been added to the README.md for the MaterialX data libraries.

The two new image assets are from ambientCG (https://ambientcg.com/), which shares them under the Creative Commons CC0 1.0 Universal License (https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/THIRD-PARTY.md#ambientcg-assets).

One image asset from very early MaterialX examples (marble.png) has been removed, as it no longer appears to be referenced in our repository.

This changelist adds a visually-motivated example material for the `hextiledimage` node, providing a reference point for future language implementations and improvements.  For visibility, a note about missing implementations of `hextiledimage` and `hextilednormalmap` in MSL, OSL, and MDL has been added to the README.md for the MaterialX data libraries.

The two new image assets are from ambientCG (https://ambientcg.com/), which shares them under the Creative Commons CC0 1.0 Universal License (https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/THIRD-PARTY.md#ambientcg-assets).

One image asset from very early MaterialX examples (marble.png) has been removed, as it no longer appears to be referenced in our repository.
@jstone-lucasfilm
Copy link
Copy Markdown
Member Author

Attaching a render of the new example material and its user interface in the MaterialX Viewer:

OnyxHextiledExample

@jstone-lucasfilm
Copy link
Copy Markdown
Member Author

Since the hex tiling technique becomes clearer when it's in motion, here's a quick video showing the visual impact of each input to the example material:

OnyxHextiledExample.mp4

Copy link
Copy Markdown
Contributor

@ld-kerley ld-kerley left a comment

Choose a reason for hiding this comment

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

Looks good to me - I did leave a small question/suggestion below - but I don't think it's important enough to block merging here.

<output name="out_color" type="color3" nodename="image_color" />
<output name="out_roughness" type="float" nodename="image_roughness_float" />
</nodegraph>
<standard_surface name="N_StandardSurface" type="surfaceshader">
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do you think it makes sense to start to use openPBR for all new tests/examples? I might send a good signal to the community that it is the shading model we hope to see people migrating towards?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I was thinking along those lines too, @ld-kerley, and my main hesitation was that both OpenPBR and Hex Tiling are relatively heavyweight features in real-time shading, and combining them might make it less straightforward for users to discern which feature was responsible if they encounter performance issues.

As both techniques are independently optimized in MaterialX GLSL, we should definitely aim to combine them in future examples of best practices.

@jstone-lucasfilm jstone-lucasfilm merged commit ddbb672 into AcademySoftwareFoundation:main Apr 28, 2025
32 checks passed
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.

2 participants