Loading...
Searching...
No Matches
HdSceneIndexInputArgsSchema Class Reference

Schema for the container data source returned by HdRendererPlugin::GetSceneIndexInputArgs. More...

#include <sceneIndexInputArgsSchema.h>

+ Inheritance diagram for HdSceneIndexInputArgsSchema:

Classes

class  Builder
 Utility class for setting sparse sets of child data source fields to be filled as arguments into BuildRetained. More...
 

Public Member Functions

Schema retrieval
 HdSceneIndexInputArgsSchema (HdContainerDataSourceHandle container)
 
Member accessor
HD_API HdBoolDataSourceHandle GetMotionBlurSupport () const
 Does consumer (most likely HdRenderer) of scene indices need samples for motion blur? This is relevant, for example, for scene indices using execution which is non-lazy and needs to know for what times to cache samples.
 
HD_API HdBoolDataSourceHandle GetCameraMotionBlurSupport () const
 Does consumer (most likely HdRenderer) of scene indices need samples for motion blur for cameras? This is a variation of motionBlurSupport.
 
HD_API HdRenderDelegateInfoDataSourceHandle GetLegacyRenderDelegateInfo () const
 Used for HdRenderIndexAdapterSceneIndex.
 
- Public Member Functions inherited from HdSchema
 HdSchema (HdContainerDataSourceHandle container)
 
HD_API HdContainerDataSourceHandle GetContainer () const
 Returns the container data source that this schema is interpreting.
 
HD_API bool IsDefined () const
 
 operator bool () const
 Returns true if this schema is applied on top of a non-null container.
 

Static Public Member Functions

Schema construction
static HD_API HdContainerDataSourceHandle BuildRetained (const HdBoolDataSourceHandle &motionBlurSupport, const HdBoolDataSourceHandle &cameraMotionBlurSupport, const HdRenderDelegateInfoDataSourceHandle &legacyRenderDelegateInfo)
 

Additional Inherited Members

- Public Types inherited from HdSchema
using UnderlyingDataSource = HdContainerDataSource
 
- Protected Member Functions inherited from HdSchema
template<typename T >
T::Handle _GetTypedDataSource (TfToken name) const
 Returns a datasource of the requested type for the given name: schema implementations can use this to ask for child containers, sampled values, vectors, etc.
 
- Protected Attributes inherited from HdSchema
HdContainerDataSourceHandle _container
 

Detailed Description

Schema for the container data source returned by HdRendererPlugin::GetSceneIndexInputArgs.

The application forwards it (possibly overlayed with its own container data source) to the scene index constructors or scene index plugins. In other words, HdRendererPlugin::GetSceneIndexInputArgs gives a renderer the opportunity to configure scene indices.

Examples are: A scene index might use execution which is non-lazy and needs to cache values or even samples for motion blur in advance. The renderer can advertise whether it actually supports motion blur and we need to cache these samples. This similarly applies to the material networks for different render contexts such as glslflx which is understood by Storm but not Prman, for example.

Definition at line 66 of file sceneIndexInputArgsSchema.h.

Constructor & Destructor Documentation

◆ HdSceneIndexInputArgsSchema()

HdSceneIndexInputArgsSchema ( HdContainerDataSourceHandle  container)
inline

Definition at line 72 of file sceneIndexInputArgsSchema.h.

Member Function Documentation

◆ BuildRetained()

static HD_API HdContainerDataSourceHandle BuildRetained ( const HdBoolDataSourceHandle &  motionBlurSupport,
const HdBoolDataSourceHandle &  cameraMotionBlurSupport,
const HdRenderDelegateInfoDataSourceHandle &  legacyRenderDelegateInfo 
)
static
Deprecated:
Use Builder instead.

Builds a container data source which includes the provided child data sources. Parameters with nullptr values are excluded. This is a low-level interface. For cases in which it's desired to define the container with a sparse set of child fields, the Builder class is often more convenient and readable.

◆ GetCameraMotionBlurSupport()

HD_API HdBoolDataSourceHandle GetCameraMotionBlurSupport ( ) const

Does consumer (most likely HdRenderer) of scene indices need samples for motion blur for cameras? This is a variation of motionBlurSupport.

It is here, for example, for renderers that use an image shader for camera motion blur.

◆ GetLegacyRenderDelegateInfo()

HD_API HdRenderDelegateInfoDataSourceHandle GetLegacyRenderDelegateInfo ( ) const

Used for HdRenderIndexAdapterSceneIndex.

In particular, this is used when USDIMAGINGGL_ENGINE_ENABLE_SCENE_INDEX is false: the UsdImagingDelegate is querying an emulation render delegate for information to resolve, for example, the material render contexts correctly.

◆ GetMotionBlurSupport()

HD_API HdBoolDataSourceHandle GetMotionBlurSupport ( ) const

Does consumer (most likely HdRenderer) of scene indices need samples for motion blur? This is relevant, for example, for scene indices using execution which is non-lazy and needs to know for what times to cache samples.


The documentation for this class was generated from the following file: