{"id":13838676,"url":"https://github.com/tangent-opensource/hdBlackbird","last_synced_at":"2025-07-10T23:31:58.330Z","repository":{"id":48098053,"uuid":"288215814","full_name":"tangent-opensource/hdBlackbird","owner":"tangent-opensource","description":"Blackbird Hydra Delegate","archived":false,"fork":false,"pushed_at":"2021-08-06T19:55:49.000Z","size":1988,"stargazers_count":297,"open_issues_count":21,"forks_count":35,"subscribers_count":32,"default_branch":"main","last_synced_at":"2024-08-05T16:17:03.551Z","etag":null,"topics":["blender","cycles","houdini","hydra","rendering","usd"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tangent-opensource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-THIRDPARTY.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2020-08-17T15:24:36.000Z","updated_at":"2024-07-29T04:52:57.000Z","dependencies_parsed_at":"2022-08-12T18:31:50.338Z","dependency_job_id":null,"html_url":"https://github.com/tangent-opensource/hdBlackbird","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangent-opensource%2FhdBlackbird","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangent-opensource%2FhdBlackbird/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangent-opensource%2FhdBlackbird/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tangent-opensource%2FhdBlackbird/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tangent-opensource","download_url":"https://codeload.github.com/tangent-opensource/hdBlackbird/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225663611,"owners_count":17504436,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blender","cycles","houdini","hydra","rendering","usd"],"created_at":"2024-08-04T16:00:28.646Z","updated_at":"2024-11-21T02:30:44.317Z","avatar_url":"https://github.com/tangent-opensource.png","language":"C++","funding_links":[],"categories":["Libraries \u0026 Tools","Uncategorized"],"sub_categories":["Hydra","Uncategorized"],"readme":"# HdBlackbird\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE.txt)\n\nA USD/Hydra RenderDelegate plugin that adds support for the \nBlackbird renderer (a fork of the Blender Foundation's Cycles renderer) to any client.\n\nIts goal is to render a one-to-one representation of a USD scene with Blackbird. \n\nThis requires three components:\n* hdCycles (Cycles Hydra Delegate)\n* ndrCycles (Cycles Node Definition Registry)\n* usdCycles (Cycles USD Schema)\n\nThe first two of which are implemented in this repository.\n\n## Building\n\n### Requirements\n\n* Blackbird standalone libraries and headers [Source](https://github.com/tangent-opensource/coreBlackbird)\n* USD 19.xx+\n  * Most of the USD requirements need to be available (OpenSubdiv, PNG, OpenImageIO, OpenVDB ...)\n\n### Linux\n\nMake sure to build cycles with `-DCMAKE_POSITION_INDEPENDENT_CODE=ON`\n\n```shell\nmkdir build\ncd build\n\ncmake -DUSD_ROOT=/path/to/usd/root               \\\n  -DCYCLES_ROOT=/path/to/cycles                  \\\n  -DCYCLES_LIBRARY_DIR=/path/to/cycles/build/lib \\\n  -DCYCLES_INCLUDE_DIRS=/path/to/cycles/src      \\\n  ..\n```\n\n### Windows\n\n```batch\nmkdir build\ncd build\n\ncmake -DUSD_ROOT=C:/path/to/usd/root               \\\n  -DCYCLES_ROOT=C:/path/to/cycles                  \\\n  -DCYCLES_LIBRARY_DIR=C:/path/to/cycles/build/lib \\\n  -DCYCLES_INCLUDE_DIRS=C:/path/to/cycles/src      \\\n  ..\n```\n\n## Installation\n\nBoth the hdCycles plugin and the ndrCycles plugin must be added to the \n`PXR_PLUGINPATH_NAME` environment variable. \n\nFor example:\n\n`PXR_PLUGINPATH_NAME = %HDCYCLES_INSTALL_DIR%/plugin/usd/ndrCycles/resources;%HDCYCLES_INSTALL_DIR%/plugin/usd/hdCycles/resources`\n\n## Notes\n\n### usdCycles schema\n\nTo allow a full 1:1 representation of a Blender Cycles scene, we need to store Cycles specific settings in USD. To do this, we created [usdCycles](https://github.com/tangent-opensource/usdcycles). More information can be found in that repo.\n\nTo prevent DCC's and tooling to not have to implement the full dependency chain of hdCycles, the usdCycles schema definition has been split into it's own repo (and rez package). Found [Here!](https://github.com/tangent-opensource/usdcycles).\n\nBuilding hdCycles without usdCycles is possible, but results in a very limited subsection of Cycles settings.\n\nFor full usdCycles schema support, please build with [usdCycles](https://github.com/tangent-opensource/usdcycles).\n\n### Stability \u0026 Performance                           \n\nThe codebase is in __active__ development and should be deemed as __unstable__. \n\nThe primary priority is feature-completness. \nStability and performance will be addressed in the future.\n\nPlease file issues for any question or problem.\n\n### Materials\n\nCurrently Cycles materials are exported through custom additions to the Blender \nUSD Exporter.\n\nOf note, hdCycles expects a flattened Cycles Material graph, with no groups or \nreroute nodes. It also does not use the `Material Output` node. Instead it\nfavours the USD/Hydra material binding inputs. \n\nFor now only BSDF nodes are registered in the ndr plugin.\n\n### Lights\n\nCurrently light node networks are unsupported via USD Lux. \n[A proposal from Pixar](https://graphics.pixar.com/usd/docs/Adapting-UsdLux-to-the-Needs-of-Renderers.html) \nplans to fix these limitations. \nIt is planned to support proper world and light materials once the proposal\nis accepted.\n\n## Feature Set\n\nCurrently supported features:\n\n| hdCycles        | Feature               | Status | Notes                                             |\n|:---------------:|-----------------------|--------|---------------------------------------------------|\n| **Meshes**      | Basic Mesh            | ✅    |                                                   |\n|                 | Geom Subsets          | ✅    |                                                   |\n|                 | Subdivision Surface   | ✅    | Ability to set at render time                     |\n|                 | Subdivision Surface (Adaptive)   | ❌    |                      |\n|                 | Generic Primvars      | ✅    |                                                   |\n|                 | UVs                   | ✅    |                                                   |\n|                 | Display Colors        | ✅    |                                                   |\n|                 | Generic Primitives    | ✅    | (Cube, sphere, cylinder)                          |\n|                 | Tangents              | ✅    |                                                   |\n|                 | Point Instances       | ✅    |                                                   |\n|                 | usdCycles Schema Support| ✅  |                                                   |\n|                 | Motion Blur (Transform) | ✅  |                                                   |\n|                 | Motion Blur (Deforming) | ✅  |                                                   |\n|                 | Motion Blur (Velocity)  | ✅  |                                                   |\n|                 | Motion Blur (Instances) | ❌  |                                                   |\n| **Materials**   | Cycles Material Graph | ✅    | Ongoing support                                   |\n|                 | Displacement          | ✅    |                                                   |\n|                 | Volumetric            | ✅    |                                                   |\n|                 | OSL                   | ❌    |                                                   |\n|                 | USD Preview Surface   | ✅    |                                                   |\n|                 | usdCycles Schema Support | ✅    |                                                   |\n| **Volumes**     | VDB Support           | ✅    | (Likely will go with foundations implementation)  |\n| **Cameras**     | Basic Support         | ✅    |                                                   |\n|                 | Depth of Field        | ✅    |                                                   |\n|                 | Motion Blur           | ✅    |                                                   |\n|                 | usdCycles Schema Support | ✅  |                                                   |\n| **Curves**      | BasisCurves           | ✅    |                                                   |\n|                 | NURBs                 | ❌    |                                                   |\n|                 | Point Instancing      | ✅    |                                                   |\n|                 | Motion Blur (Transform) | ✅  |                                                   |\n|                 | Motion Blur (Deforming) | ✅  | Known slow down.                                  |\n|                 | Motion Blur (Velocity)  | ❌  |                                                   |\n|                 | Motion Blur (Instances) | ❌  |                                                   |\n|                 | usdCycles Schema Support| ✅  |                                                   |\n| **Points**      | Points                | ✅    |                                                   |\n|                 | usdCycles Schema Support| ✅  |                                                   |\n|                 | Motion Blur (Transform) | ❌  |                                                   |\n|                 | Motion Blur (Velocity)  | ❌  |                                                   |\n| **Lights**      | Point                 | ✅    |                                                   |\n|                 | Directional           | ✅    |                                                   |\n|                 | Spot                  | ✅    |                                                   |\n|                 | Area                  | ✅    |                                                   |\n|                 | Dome                  | ✅    | Limited to only one at a time                     |\n|                 | Temperature           | ✅    | We manually create a blackbody shader for now...  |\n|                 | Light Materials       |   ❌  | Pending support for new USD Light network shaders |\n|                 | usdCycles Schema Support| ✅  |                                                   |\n| **Render Settings** | Basic Render Settings |✅ |                                                   |\n|                 | usdCycles Schema Support  | ✅| Render Settings, Render Products, etc.            |\n| **Rendering**   | Combined AOV          | ✅    |                                                   |\n|                 | Tiled Rendering       | ✅    |                                                   |\n|                 | Full AOV Support      | ✅    |                                                   |\n|                 | Cryptomatte           | ✅    |                                                   |\n|                 | OCIO Support          | ✅    |                                                   |\n|                 | CUDA/GPU Support      | ❌    | Should just require adjustments to build scripts  |\n\n## License\n\nThis project is licensed under the [Apache 2 license](LICENSE.txt).\n\nFor a full list of third-party licenses see: [LICENSE-THIRDPARTY](LICENSE-THIRDPARTY.txt)\n\n## Attribution\n\nThis could not have been made without the help and reference of the following open source projects:\n* [USD - Copyright 2016 Pixar Animation Studios - Apache 2.0 License](https://github.com/PixarAnimationStudios/USD)\n* [arnold-usd - Copyright 2020 Autodesk - Apache 2.0 License](https://github.com/Autodesk/arnold-usd)\n* [arnold-usd - Copyright 2019 Luma Pictures - Apache 2.0 License](https://github.com/LumaPictures/usd-arnold)\n* [RadeonProRenderUSD - Copyright 2020 Advanced Micro Devices, Inc - Apache 2.0 License](https://github.com/GPUOpen-LibrariesAndSDKs/RadeonProRenderUSD)\n* [Mikktspace - Copyright 2011 Morten S. Mikkelsen - Zlib](http://www.mikktspace.com/)\n* [GafferCycles - Copyright 2018 Alex Fuller - BSD 3-Clause License](https://github.com/boberfly/GafferCycles)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangent-opensource%2FhdBlackbird","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftangent-opensource%2FhdBlackbird","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangent-opensource%2FhdBlackbird/lists"}