All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Hydra Prim Schemas

Hydra schemas are constantly evolving. The following list of schemas is a snapshot from November 2023.

Prim: the flattening scene index will produce these attributes on all prims in the scene.

  • xform (HdXformSchema)
  • visibility (HdVisibilitySchema)
    • visibility (bool)
  • purpose (HdPurposeSchema)
  • extent (HdExtentSchema)

Gprim: all prims for which HdPrimTypeIsGprim(type) is true optionally have these.

  • displayStyle (HdLegacyDisplayStyleSchema)
    • refineLevel (int)
    • flatShadingEnabled (bool)
    • displacementEnabled (bool)
    • occludedSelectionShowsThrough (bool)
    • pointsShadingEnabled (bool)
    • materialIsFinal (bool)
    • shadingStyle (TfToken)
    • reprSelector (VtArray<TfToken>)
    • cullStyle (TfToken)
  • instancedBy (HdInstancedBySchema)
    • paths (VtArray<SdfPath>)
    • prototypeRoots (VtArray<SdfPath>)
  • coordSysBinding (HdCoordSysBindingSchema)
    • <name> (SdfPath) - representing the path of the coordSys prim bound to <name>
  • categories (HdCategoriesSchema)
    • <name> (bool) - representing whether the prim is included or excluded from category <name>
  • primvars (HdPrimvarsSchema)
    • <name> (HdPrimvarSchema) - primvar data for <name>
      • primvarValue (HdSampledDataSource) - flattened primvar data, one value per topological primvar element.
      • indexedPrimvarValue (HdSampledDataSource) - for indexed primvars, de-duplicated primvar data, arbitrary size
      • indices (VtArray<int>) - for indexed primvars, indices into indexedPrimvarValue, one value per topological primvar element.
      • interpolation (Token)
      • role (Token)
  • materialBindings (HdMaterialBindingsSchema)
    • <name> (HdMaterialBindingSchema) - material binding for purpose <name>

Mesh

  • mesh - HdMeshSchema
    • topology (HdMeshTopologySchema)
      • faceVertexCounts (VtArray<int>)
      • faceVertexIndices (VtArray<int>)
      • holeIndices (VtArray<int>)
      • Orientation (TfToken)
    • subdivisionScheme (TfToken)
    • subdivisionTags (HdSubdivisionTagsSchema) - optional based on subdivisionScheme
      • faceVaryingLinearInterpolation (TfToken)
      • interpolateBoundary (TfToken)
      • triangleSubdivisionRule (TfToken)
      • cornerIndices (VtArray<int>)
      • cornerSharpnesses (VtArray<float>)
      • creaseIndices (VtArray<int>)
      • creaseLengths (VtArray<int>)
      • creaseSharpnesses (VtArray<float>)
    • geomSubsets (HdGeomSubsetsSchema)
      • <name> (HdGeomSubsetSchema) - geom subset with identifier <name>
        • type (TfToken) - typeFaceSet, typeCurveSet, typePointSet
        • indices (VtArray<int>)
        • Optional - visibility (bool)
        • Optional - <name> (HdMaterialBindingSchema) - material binding for purpose <name>
    • doubleSided (bool)
  • primvars (HdPrimvarsSchema)
    • points (HdPrimvarSchema) - required to have interpolation "vertex"

Basis Curves

  • basisCurves - HdBasisCurvesSchema
    • topology (HdBasisCurvesTopologySchema)
      • curveVertexCounts (VtArray<int>)
      • curveIndices (VtArray<int>)
      • basis (TfToken)
      • type (TfToken)
      • wrap (TfToken)
    • geomSubsets (HdGeomSubsetsSchema)
  • primvars (HdPrimvarsSchema)
    • points (HdPrimvarSchema) - required to have interpolation "vertex"

Volume

  • volumeFieldBindings (HdVolumeFieldBindingsSchema)
    • <name> (SdfPath) - volume field to bind to input <name>

VolumeField

  • volumeField (HdVolumeFieldSchema)
    • filePath (SdfAssetPath) - library agnostic but OpenUSD ships with OpenVDB and Field3D support.
    • fieldName (TfToken)
    • fieldIndex (int)
    • fieldDataType (TfToken)
    • vectorDataRoleHint (TfToken)

Material

The following diagram depicts an example scene index prim "Plastic_Material". "Plastic_Material" is a scene index prim that has multiple container data sources, like 'material' (HdMaterialSchema) and 'materialOverride' (HdMaterialOverrideSchema). "Plastic_Material" as a scene index prim also has a scene index prim type, which is type 'material'. (See HdPrimTypeTokens).

The diagram intends to show how the two sibling container data sources "materialOverride" and "material" relate to each other.

Note the following:

  1. The data flows from left to right.
  2. The dotted lines between "materialOverride" and "interfaceMappings" are not true connections and are not backed by the MaterialConnection schema. Each item within "materialOverride" and "interfaceMappings" is loosely coupled by their matching names.
  3. The connections in the diagram are drawn with an 'o' to indicate the source where the connection was authored, and these connections are backed by the MaterialConnection schema.

Light

  • material (HdMaterialSchema) - we expect a "light" terminal
  • light (HdLightSchema)
    • isLight (bool)
    • materialSyncMode
    • filters (SdfPathVector)
    • lightLink (TfToken)
    • shadowLink (TfToken)
    • lightFilterLink (TfToken)
  • primvars (HdPrimvarsSchema)
  • instancedBy (HdInstancedBySchema)

Camera

  • camera (HdCameraSchema)
    • projection (TfToken)
    • horizontalAperture (float)
    • verticalAperture (float)
    • horizontalApertureOffset (float)
    • verticalApertureOffset (float)
    • focalLength (float)
    • clippingRange (GfVec2f)
    • clippingPlanes (VtArray<GfVec4d>)
    • fStop (float)
    • focusDistance (float)
    • shutterOpen (double)
    • shutterClose (double)
    • exposure (float)
    • focusOn (float)
    • dofAspect (float)
    • splitDiopter (HdSplitDiopterSchema)
      • count (int)
      • angle (float)
      • offset1 (float)
      • width1 (float)
      • focusDistance1 (float)
      • offset2 (float)
      • width2 (float)
      • focusDistance2 (float)
    • lensDistortion (HdLensDistortionSchema)
      • type (TfToken)
      • k1 (float)
      • k2 (float)
      • center (GfVec2f)
      • anaSq (float)
      • asym (GfVec2f)
      • scale (float)
      • ior (float)
  • primvars (HdPrimvarsSchema)

Instancer

  • instancerTopology - HdInstancerTopologySchema
    • prototypes (VtArray<SdfPath>)
    • instanceIndices(HdVectorDataSource)
      • <index> (HdInstanceIndicesSchema)
        • instancer (SdfPath)
        • prototypeIndex (int)
        • instanceIndices (VtArray<int>)
    • mask (VtArray<bool>)
    • instanceLocations (VtArray<SdfPath>)
  • instancedBy (HdInstancedBySchema)
  • primvars (HdPrimvarsSchema)

RenderBuffer

  • renderBuffer - HdRenderBufferSchema
    • dimensions (GfVec3i)
    • format (HdFormat)
    • multiSampled (bool)

RenderSettings