All Projects → Autodesk → Arnold Usd

Autodesk / Arnold Usd

Licence: apache-2.0
Arnold components for USD

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Arnold Usd

Kaboom
A tool to automate penetration tests
Stars: ✭ 322 (+159.68%)
Mutual labels:  hydra
System Security Testing
🐧🔥System security testing tools(compatible with Debian/Centos/Ubuntu/Kali/Mint,use the nmap and hydra security testing tools)
Stars: ✭ 49 (-60.48%)
Mutual labels:  hydra
Screenspace
Screenspace pickables for Maya
Stars: ✭ 93 (-25%)
Mutual labels:  maya
Unity Runtime Animation Recorder
Record animations in Unity runtime. Can save to .anim, maya, or FBX ASCII format.
Stars: ✭ 407 (+228.23%)
Mutual labels:  maya
Gparticlesio
Simple IO transfer particles cache in DCC application
Stars: ✭ 8 (-93.55%)
Mutual labels:  maya
Wheat
Wheat Detection challenge on Kaggle
Stars: ✭ 54 (-56.45%)
Mutual labels:  hydra
Exporters
Exporters for Babylon.js and gltf file formats
Stars: ✭ 302 (+143.55%)
Mutual labels:  maya
Flok
Web-based P2P collaborative editor for live coding sounds and images
Stars: ✭ 119 (-4.03%)
Mutual labels:  hydra
Pointnet2 pytorch
PyTorch implementation of Pointnet2/Pointnet++
Stars: ✭ 844 (+580.65%)
Mutual labels:  hydra
Hydra Posframe
hydra-posframe is a hydra extension which shows hydra hints on posframe.
Stars: ✭ 89 (-28.23%)
Mutual labels:  hydra
Thc Hydra
hydra
Stars: ✭ 5,645 (+4452.42%)
Mutual labels:  hydra
Hydra
A light-weight library for building distributed applications such as microservices
Stars: ✭ 611 (+392.74%)
Mutual labels:  hydra
Hydra Ue4
Hydra Plugin for Unreal Engine 4
Stars: ✭ 69 (-44.35%)
Mutual labels:  hydra
Admin
A beautiful and fully-featured administration interface builder for hypermedia APIs
Stars: ✭ 335 (+170.16%)
Mutual labels:  hydra
Mgui
Python module for cleaner maya GUI layout syntax
Stars: ✭ 99 (-20.16%)
Mutual labels:  maya
.emacs.d
🎉 Personal GNU Emacs configuration
Stars: ✭ 313 (+152.42%)
Mutual labels:  hydra
Mayamatchmovesolver
A Bundle Adjustment solver for MatchMove related tasks.
Stars: ✭ 50 (-59.68%)
Mutual labels:  maya
Mayacharm
Maya intergration for PyCharm.
Stars: ✭ 123 (-0.81%)
Mutual labels:  maya
Scenegraph
PySide scene graph UI framework.
Stars: ✭ 118 (-4.84%)
Mutual labels:  maya
Pytorch Project Template
Deep Learning project template for PyTorch (Distributed Learning is supported)
Stars: ✭ 76 (-38.71%)
Mutual labels:  hydra

Arnold USD

This repository contains a set of components and tools to use the Arnold renderer with Pixar's Universal Scene Description. Notably, the following components are included:

  • Hydra render delegate
  • Arnold procedural for USD
  • Schemas to describe an Arnold scene in USD

Contributions are welcome! Please make sure to read the contribution guidelines.

Building and installation

Please follow the building instructions. To use the components, provided you installed in <arnold-usd_dir>, set the following environment variables:

  • Add <arnold-usd_dir>/procedural to ARNOLD_PLUGIN_PATH for the Arnold usd procedural.
  • Add <arnold-usd_dir>/lib/python to PYTHONPATH for the Python schema bindings.
  • Add <arnold-usd_dir>/plugin to PXR_PLUGINPATH_NAME for the Hydra render delegate and the Node Registry plugin.
  • Add <arnold-usd_dir>/lib/usd to PXR_PLUGINPATH_NAME for the USD schemas.
  • Add <arnold-usd_dir>/lib to LD_LIBRARY_PATH on Linux, PATH on Windows and DYLD_LIBRARY_PATH on Mac.

Hydra Render Delegate

The render delegate currently supports the following features:

  • RPrim Support
    • Mesh
      • All primvars are supported, st/uv is accessible through the built-in uv attribute on the mesh
      • Normal primvars are translated to Arnold built-in attributes
      • Support for the displayColor primvar
      • Subdivision settings
    • Volume
    • Points
  • SPrim Support
    • Materials
      • Arnold shaders are supported, the info:id attribute is used to determine the shader type
      • UsdPreviewSurface is translated to Arnold shaders
    • Lights
      • Distant Light
      • Sphere Light
      • Disk Light
      • Rect Light
      • Cylinder Light
      • Dome Light
      • Shaping Parameters
    • ExtComputation
  • BPrim Support
    • Render Buffer
    • OpenVDB Asset
  • Point Instancer, including nesting of Point Instancers and instancing Volumes
  • Selection in USD View and other applications using the primId AOV
  • Displaying the Color, Depth and PrimID AOVs
  • Motion Blur
    • Deformation
    • Transformation
  • Rendervar support
    • Raw Rendervars
    • Primvar Rendervars
    • LPE Rendervars
    • SourceName parameter
    • DataType parameter
    • Setting up Arnold filters via "arnold:filter_type"
      • Filtering parameters via "arnold:param_name"
      • Filtering parameters via "arnold:filter_node_entry:param_name"
  • USD Skel support
  • HdExtComputation support for polymeshes
  • Render Settings via the Render Delegate
    • Sampling parameters
    • Threading parameters
    • Ignore parameters
    • Profiling and logging parameters
    • Switching between CPU and GPU mode seamlessly
    • Default values are configurable through environment variables for most of these parameters
  • Bassis Curves support
    • Remapping uv/st to uvs
    • Remapping normals to orientations

Limitations

  • Crash on linux at startup with usdview : Currently, the arnold library needs to be ld-preloaded to avoid the crash, e.g. LD_PRELOAD=/path_to_arnold/bin/libai.so usdview scene.usda
  • No motion blur support for the Point Instancer attributes
  • Ignoring primvars:arnold:basis on curves
  • No support for periodic or pinned curves
  • No field3d volume grids
  • Not all the parameters are accessible through the render settings
    • Texture Cache size
    • Texture generation parameters (automip, autotile)
  • No normal maps on the UsdPreviewSurface
  • Only converging renders are supported (ie. it’s not possible to block the viewport until the render finishes)
  • No coordsys support
  • Can't open textures from usdz files

Node Registry Plugin

The Node Registry plugin supports the current features:

  • Registering Sdr nodes for every built-in shader and custom shader
    • Setting up the asset URI either to <built-in> or to the path of the shader library providing the shader.
    • Creating all parameters.

Limitations

  • No nodes registered for
    • Shapes
    • Lights
    • Filters
    • Drivers
  • No node is registered for the options node
  • Metadata is not converted for any node

Arnold USD Procedural

The procedural supports the following features:

  • USD Geom primitives
    • UsdGeomMesh
    • UsdGeomCurves
    • UsdGeomBasisCurves
    • UsdGeomPoints
    • UsdGeomCube
    • UsdGeomSphere
    • UsdGeomCone
    • UsdGeomCylinder
    • UsdPointInstancer
    • UsdVolume UsdGeomCamera
    • primvars are translated as user data
  • USD Lux primitives
    • UsdLuxDistantLight
    • UsdLuxDomeLight
    • UsdLuxDiskLight
    • UsdLuxSphereLight
    • UsdLuxRectLight
    • UsdLuxGeometryLight
    • Support for textured lights (dome, rectangle and geometry)
  • USD native shaders
    • UsdPreviewSurface
    • UsdPrimVar*
    • UsdUVTexture
    • Per channel connections via adapter nodes
  • UsdSkel support
  • Arnold shaders supported as UsdShade nodes (where info:id gives the shader type)
  • Support for any additional Arnold parameter in USD nodes (e.g. attribute primvars:arnold:subdiv_iterations in a UsdGeomMesh)
  • Support for any Arnold node type (e.g. USD type ArnoldSetParameter gets rendered as arnold set_parameter node)
  • Support for multi-threaded parsing of a USD file
  • UsdRender schema support

Limitations Currently unsupported:

  • Nurbs

Testsuite

Running the arnold-usd testsuite requires the latest version of Arnold, that can be downloaded at https://www.arnoldrenderer.com/arnold/download/ It is not supported for older versions of Arnold.

Acknowledgments

  • Luma Pictures' usd-arnold
  • RodeoFX's OpenWalter
  • Ben Asher
  • Sebastien Blaineau-Ortega
  • Chad Dombrova
  • Guillaume Laforge
  • Julian Hodgson
  • Thiago Ize
  • Pal Mezei
  • Paul Molodowitch
  • Nathan Rusch
  • Frederic Servant
  • Charles Flèche
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].