Git Product home page Git Product logo

ndufort / materialx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from academysoftwarefoundation/materialx

0.0 0.0 0.0 187.84 MB

MaterialX is an open standard for transfer of rich material and look-development content between applications and renderers.

Home Page: http://www.materialx.org/

License: Apache License 2.0

CMake 2.86% Python 3.37% C++ 86.57% C 1.52% Objective-C 0.19% GLSL 2.31% JavaScript 3.11% EJS 0.03% Batchfile 0.03%

materialx's Introduction

License Version Build Status CII Best Practices

Introduction

MaterialX is an open standard for representing rich material and look-development content in computer graphics, enabling its platform-independent description and exchange across applications and renderers. Launched at Industrial Light & Magic in 2012, MaterialX has been a key technology in their feature films and real-time experiences since Star Wars: The Force Awakens and Millennium Falcon: Smugglers Run. The project was released as open source in 2017, with companies including Sony Pictures Imageworks, Pixar, Autodesk, Adobe, and SideFX contributing to its ongoing development. In 2021, MaterialX became the seventh hosted project of the Academy Software Foundation.

Quick Start for Developers

  • Download the latest version of the CMake build system.
  • Point CMake to the root of the MaterialX library and generate C++ projects for your platform and compiler.
  • Select the MATERIALX_BUILD_PYTHON option to build Python bindings.
  • Select the MATERIALX_BUILD_VIEWER option to build the MaterialX viewer.

Supported Platforms

The MaterialX codebase requires a compiler with support for C++11, and can be built with any of the following:

  • Microsoft Visual Studio 2015 or newer
  • GCC 4.8 or newer
  • Clang 3.3 or newer

The Python bindings for MaterialX are based on PyBind11, and support Python versions 2.7 and 3.x.

MaterialX Viewer

The MaterialX Viewer leverages shader generation to build GLSL shaders from MaterialX graphs, rendering the results using the NanoGUI framework.

Figure 1: Procedural and uniform materials in the MaterialX viewer

Figure 2: Textured, color-space-managed materials in the MaterialX viewer

Open Chess Set

The Open Chess Set is an open reference asset, consisting of a MaterialX file in the Standard Surface shading model and a geometry file in the glTF format. It was authored by Moeen Sayed and Mujtaba Sayed, and was contributed to the MaterialX project by Side Effects.

Figure 3: The Open Chess Set, rendered in Arnold for Maya

Figure 4: The Open Chess Set, rendered in Karma XPU for Houdini

Pre-Built Binaries

The following packages contain pre-built binaries for the latest release, including the MaterialX viewer, Python libraries, and example assets:

Additional Resources

materialx's People

Contributors

jstone-lucasfilm avatar bernardkwok avatar kwokcb avatar niklasharrysson avatar mjyip-lucasfilm avatar dbsmythe avatar ashwinbhat avatar briansharpe avatar pablode avatar proog128 avatar willmuto-lucasfilm avatar yurivict avatar da-krunch avatar laserallan avatar scatteredray avatar code-monkey avatar pmolodo avatar marsupial avatar anderslanglands avatar crydalch avatar ix-dcourtois avatar derek-nvidia avatar igor-elovikov avatar feldstj avatar fire avatar schmidka avatar lgritz avatar theblackunknown avatar marktucker avatar rasmusbonnedal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.