Hydra Houdini: VdbVolume Shader

Open
#261 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
1-2 days
Newbie friendliness
43/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
cmake
Domain
tooling

Research direction

Start with houdini/moonray_nodes.json, shader_json/VdbVolume.json, moonray/dso/volume/Vdb/attributes.cc, and houdini/CMakeLists.txt to trace how existing shader nodes are represented and installed. The issue leaves the HDA generation process and preferred contribution path unresolved, so confirm those before choosing an implementation. Done means the project’s process is established and, if appropriate, VdbVolume is exposed as a Houdini node.

Written by the indexing model from the issue text.

Description

Title

VdbVolume shader has no Houdini node, how are otls/*.hda generated?

Summary

BaseVolume is exposed as a VOP.
But VdbVolume isn't, despite being a distinct, documented shader for VDB-backed geometry (VdbGeometry), not an alias for BaseVolume.

Findings

  • houdini/moonray_nodes.json: has BaseVolume, VdbGeometry, VdbLightFilter... no VdbVolume.
  • moonray/dso/volume/Vdb/attributes.cc: real, distinct attrs (opacity_gain_mult, color_mult, incandescence_gain_mult, anisotropy).
  • shader_json/VdbVolume.json: already has this data.
  • houdini/CMakeLists.txt: only installs pre-built otls/soho — no JSON→HDA generator in-repo.

Questions

  1. Is HDA generation from shader JSON automated or hand-maintained?
  2. If automated, is the generator just not open-sourced?
  3. Known gap, or oversight?
  4. Preferred way to add a missing shader's node?

Can PR a moonray_nodes.json entry / .ds for VdbVolume once process is confirmed.

Dominant language
CMake
Stars
4.7k
Forks
321
Avg merge
13m
Merged PRs (30d)
3

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OpenMoonRay/openmoonray

All issues in OpenMoonRay/openmoonray

Similar issues

More DevTools issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.