HdRenderPassState Class Reference

A set of rendering parameters used among render passes. More...

+ Inheritance diagram for HdRenderPassState:

Public Member Functions

virtual HD_API void Prepare (HdResourceRegistrySharedPtr const &resourceRegistry)
 Schedule to update renderPassState parameters. More...
 
Application rendering state
HD_API void SetOverrideColor (GfVec4f const &color)
 Set an override color for rendering where the R, G and B components are the color and the alpha component is the blend value. More...
 
const GfVec4fGetOverrideColor () const
 
HD_API void SetWireframeColor (GfVec4f const &color)
 Set a wireframe color for rendering where the R, G and B components are the color and the alpha component is the blend value. More...
 
const GfVec4fGetWireframeColor () const
 
HD_API void SetMaskColor (GfVec4f const &color)
 
const GfVec4fGetMaskColor () const
 
HD_API void SetIndicatorColor (GfVec4f const &color)
 
const GfVec4fGetIndicatorColor () const
 
HD_API void SetPointColor (GfVec4f const &color)
 Set a point color for rendering where the R, G and B components are the color and the alpha component is the blend value. More...
 
const GfVec4fGetPointColor () const
 
HD_API void SetPointSize (float size)
 Set the point size for unselected points. More...
 
float GetPointSize () const
 
HD_API void SetPointSelectedSize (float size)
 Set the point size for selected points. More...
 
float GetPointSelectedSize () const
 
HD_API void SetLightingEnabled (bool enabled)
 XXX: Hacky way of disabling lighting. More...
 
bool GetLightingEnabled () const
 
HD_API void SetClippingEnabled (bool enabled)
 
bool GetClippingEnabled () const
 

Camera and framing state

using ClipPlanesVector = std::vector< GfVec4d >
 
HD_API void SetCamera (const HdCamera *camera)
 Sets the camera. More...
 
HD_API void SetOverrideWindowPolicy (const std::pair< bool, CameraUtilConformWindowPolicy > &overrideWindowPolicy)
 Sets whether to override the window policy used to conform the camera if its aspect ratio is not matching the display window/viewport. More...
 
HD_API void SetFraming (const CameraUtilFraming &framing)
 Sets the framing to show the camera. More...
 
HD_API void SetViewport (const GfVec4d &viewport)
 Sets the viewport to show the camera. More...
 
HD_API void SetCameraAndFraming (const HdCamera *camera, const CameraUtilFraming &framing, const std::pair< bool, CameraUtilConformWindowPolicy > &overrideWindowPolicy)
 
HD_API void SetCameraAndViewport (const HdCamera *camera, const GfVec4d &viewport)
 
HdCamera const * GetCamera () const
 Get camera. More...
 
const CameraUtilFramingGetFraming () const
 Get framing information determining how the filmback plane maps to pixels. More...
 
const std::pair< bool, CameraUtilConformWindowPolicy > & GetOverrideWindowPolicy () const
 The override value for the window policy to conform the camera frustum that can be specified by the application. More...
 
HD_API CameraUtilConformWindowPolicy GetWindowPolicy () const
 The resolved window policy to conform the camera frustum. More...
 
virtual HD_API GfMatrix4d GetWorldToViewMatrix () const
 Camera getter API. More...
 
virtual HD_API GfMatrix4d GetProjectionMatrix () const
 Compute projection matrix using physical attributes of an HdCamera. More...
 
GfVec4f const & GetViewport () const
 Only use when clients did not specify a camera framing. More...
 
HD_API GfMatrix4d GetImageToWorldMatrix () const
 Compute a transform from window relative coordinates (x,y,z,1) to homogeneous world coordinates (x,y,z,w), using the HdCamera's attributes, framing, and viewport dimensions. More...
 
virtual HD_API ClipPlanesVector const & GetClipPlanes () const
 Returns HdCamera's clip planes. More...
 

Render pipeline state

enum  ColorMask { ColorMaskNone, ColorMaskRGB, ColorMaskRGBA }
 
HdCamera const * _camera
 
GfVec4f _viewport
 
CameraUtilFraming _framing
 
std::pair< bool, CameraUtilConformWindowPolicy > _overrideWindowPolicy
 
GfVec4f _overrideColor
 
GfVec4f _wireframeColor
 
GfVec4f _pointColor
 
float _pointSize
 
bool _lightingEnabled
 
bool _clippingEnabled
 
GfVec4f _maskColor
 
GfVec4f _indicatorColor
 
float _pointSelectedSize
 
float _alphaThreshold
 
float _tessLevel
 
GfVec2f _drawRange
 
bool _depthBiasUseDefault
 
bool _depthBiasEnabled
 
float _depthBiasConstantFactor
 
float _depthBiasSlopeFactor
 
HdCompareFunction _depthFunc
 
bool _depthMaskEnabled
 
bool _depthTestEnabled
 
bool _depthClampEnabled
 
GfVec2f _depthRange
 
HdCullStyle _cullStyle
 
HdCompareFunction _stencilFunc
 
int _stencilRef
 
int _stencilMask
 
HdStencilOp _stencilFailOp
 
HdStencilOp _stencilZFailOp
 
HdStencilOp _stencilZPassOp
 
bool _stencilEnabled
 
float _lineWidth
 
HdBlendOp _blendColorOp
 
HdBlendFactor _blendColorSrcFactor
 
HdBlendFactor _blendColorDstFactor
 
HdBlendOp _blendAlphaOp
 
HdBlendFactor _blendAlphaSrcFactor
 
HdBlendFactor _blendAlphaDstFactor
 
GfVec4f _blendConstantColor
 
bool _blendEnabled
 
bool _alphaToCoverageEnabled
 
bool _colorMaskUseDefault
 
std::vector< ColorMask > _colorMasks
 
HdRenderPassAovBindingVector _aovBindings
 
HdRenderPassAovBindingVector _aovInputBindings
 
bool _useMultiSampleAov
 
bool _conservativeRasterizationEnabled
 
float _stepSize
 
float _stepSizeLighting
 
bool _multiSampleEnabled
 
HD_API void SetAovBindings (HdRenderPassAovBindingVector const &aovBindings)
 Set the attachments for this renderpass to render into. More...
 
HD_API HdRenderPassAovBindingVector const & GetAovBindings () const
 
HD_API void SetAovInputBindings (HdRenderPassAovBindingVector const &aovBindings)
 Set the AOVs that this renderpass needs to read from. More...
 
HD_API HdRenderPassAovBindingVector const & GetAovInputBindings () const
 
HD_API void SetUseAovMultiSample (bool state)
 Returns true if the render pass wants to render into the multi-sample aovs. More...
 
HD_API bool GetUseAovMultiSample () const
 
HD_API void SetCullStyle (HdCullStyle cullStyle)
 
HD_API HdCullStyle GetCullStyle () const
 
HD_API void SetAlphaThreshold (float alphaThreshold)
 
float GetAlphaThreshold () const
 
HD_API void SetTessLevel (float level)
 
float GetTessLevel () const
 
HD_API void SetDrawingRange (GfVec2f const &drawRange)
 
GfVec2f GetDrawingRange () const
 
HD_API GfVec2f GetDrawingRangeNDC () const
 
HD_API void SetDepthBiasUseDefault (bool useDefault)
 
bool GetDepthBiasUseDefault () const
 
HD_API void SetDepthBiasEnabled (bool enabled)
 
bool GetDepthBiasEnabled () const
 
HD_API void SetDepthBias (float constantFactor, float slopeFactor)
 
HD_API void SetDepthFunc (HdCompareFunction depthFunc)
 
HdCompareFunction GetDepthFunc () const
 
HD_API void SetEnableDepthMask (bool state)
 
HD_API bool GetEnableDepthMask () const
 
HD_API void SetEnableDepthTest (bool enabled)
 
HD_API bool GetEnableDepthTest () const
 
HD_API void SetEnableDepthClamp (bool enabled)
 
HD_API bool GetEnableDepthClamp () const
 
HD_API void SetDepthRange (GfVec2f const &depthRange)
 
HD_API const GfVec2fGetDepthRange () const
 
HD_API void SetStencil (HdCompareFunction func, int ref, int mask, HdStencilOp fail, HdStencilOp zfail, HdStencilOp zpass)
 
HdCompareFunction GetStencilFunc () const
 
int GetStencilRef () const
 
int GetStencilMask () const
 
HdStencilOp GetStencilFailOp () const
 
HdStencilOp GetStencilDepthFailOp () const
 
HdStencilOp GetStencilDepthPassOp () const
 
HD_API void SetStencilEnabled (bool enabled)
 
HD_API bool GetStencilEnabled () const
 
HD_API void SetLineWidth (float width)
 
float GetLineWidth () const
 
HD_API void SetBlend (HdBlendOp colorOp, HdBlendFactor colorSrcFactor, HdBlendFactor colorDstFactor, HdBlendOp alphaOp, HdBlendFactor alphaSrcFactor, HdBlendFactor alphaDstFactor)
 
HdBlendOp GetBlendColorOp ()
 
HdBlendFactor GetBlendColorSrcFactor ()
 
HdBlendFactor GetBlendColorDstFactor ()
 
HdBlendOp GetBlendAlphaOp ()
 
HdBlendFactor GetBlendAlphaSrcFactor ()
 
HdBlendFactor GetBlendAlphaDstFactor ()
 
HD_API void SetBlendConstantColor (GfVec4f const &color)
 
const GfVec4fGetBlendConstantColor () const
 
HD_API void SetBlendEnabled (bool enabled)
 
HD_API void SetAlphaToCoverageEnabled (bool enabled)
 
bool GetAlphaToCoverageEnabled () const
 
HD_API void SetColorMaskUseDefault (bool useDefault)
 
bool GetColorMaskUseDefault () const
 
HD_API void SetConservativeRasterizationEnabled (bool enabled)
 
bool GetConservativeRasterizationEnabled () const
 
HD_API void SetVolumeRenderingConstants (float stepSize, float stepSizeLighting)
 
HD_API void SetColorMasks (std::vector< ColorMask > const &masks)
 
std::vector< ColorMask > const & GetColorMasks () const
 
HD_API void SetMultiSampleEnabled (bool enabled)
 
bool GetMultiSampleEnabled () const
 

Detailed Description

A set of rendering parameters used among render passes.

Parameters are expressed as GL states, uniforms or shaders.

Definition at line 60 of file renderPassState.h.

Member Function Documentation

◆ GetCamera()

HdCamera const* GetCamera ( ) const
inline

Get camera.

Definition at line 130 of file renderPassState.h.

◆ GetClipPlanes()

virtual HD_API ClipPlanesVector const& GetClipPlanes ( ) const
virtual

Returns HdCamera's clip planes.

Reimplemented in HdStRenderPassState.

◆ GetFraming()

const CameraUtilFraming& GetFraming ( ) const
inline

Get framing information determining how the filmback plane maps to pixels.

Definition at line 135 of file renderPassState.h.

◆ GetImageToWorldMatrix()

HD_API GfMatrix4d GetImageToWorldMatrix ( ) const

Compute a transform from window relative coordinates (x,y,z,1) to homogeneous world coordinates (x,y,z,w), using the HdCamera's attributes, framing, and viewport dimensions.

◆ GetOverrideWindowPolicy()

const std::pair<bool, CameraUtilConformWindowPolicy>& GetOverrideWindowPolicy ( ) const
inline

The override value for the window policy to conform the camera frustum that can be specified by the application.

Definition at line 140 of file renderPassState.h.

◆ GetProjectionMatrix()

virtual HD_API GfMatrix4d GetProjectionMatrix ( ) const
virtual

Compute projection matrix using physical attributes of an HdCamera.

Reimplemented in HdStRenderPassState.

◆ GetViewport()

GfVec4f const& GetViewport ( ) const
inline

Only use when clients did not specify a camera framing.

Deprecated:

Definition at line 164 of file renderPassState.h.

◆ GetWindowPolicy()

HD_API CameraUtilConformWindowPolicy GetWindowPolicy ( ) const

The resolved window policy to conform the camera frustum.

This is either the override value specified by the application or the value from the scene delegate's camera.

◆ GetWorldToViewMatrix()

virtual HD_API GfMatrix4d GetWorldToViewMatrix ( ) const
virtual

Camera getter API.

Returns inverse of HdCamera's transform.

Reimplemented in HdStRenderPassState.

◆ Prepare()

virtual HD_API void Prepare ( HdResourceRegistrySharedPtr const &  resourceRegistry)
virtual

Schedule to update renderPassState parameters.

e.g. camera matrix, override color, id blend factor. Prepare, called once per frame after the sync phase, but prior to the commit phase.

Reimplemented in HdStRenderPassState.

◆ SetAovBindings()

HD_API void SetAovBindings ( HdRenderPassAovBindingVector const &  aovBindings)

Set the attachments for this renderpass to render into.

◆ SetAovInputBindings()

HD_API void SetAovInputBindings ( HdRenderPassAovBindingVector const &  aovBindings)

Set the AOVs that this renderpass needs to read from.

◆ SetCamera()

HD_API void SetCamera ( const HdCamera camera)

Sets the camera.

◆ SetCameraAndFraming()

HD_API void SetCameraAndFraming ( const HdCamera camera,
const CameraUtilFraming framing,
const std::pair< bool, CameraUtilConformWindowPolicy > &  overrideWindowPolicy 
)
Deprecated:
Use SetCamera, SetFraming and SetOverrideWindowPolicy instead.

◆ SetCameraAndViewport()

HD_API void SetCameraAndViewport ( const HdCamera camera,
const GfVec4d viewport 
)
Deprecated:
Use SetCamera, SetViewport and SetOverrideWindowPolicy instead.

◆ SetFraming()

HD_API void SetFraming ( const CameraUtilFraming framing)

Sets the framing to show the camera.

If a valid framing is set, a viewport set earlier with SetViewport will be ignored.

◆ SetLightingEnabled()

HD_API void SetLightingEnabled ( bool  enabled)

XXX: Hacky way of disabling lighting.

◆ SetOverrideColor()

HD_API void SetOverrideColor ( GfVec4f const &  color)

Set an override color for rendering where the R, G and B components are the color and the alpha component is the blend value.

◆ SetOverrideWindowPolicy()

HD_API void SetOverrideWindowPolicy ( const std::pair< bool, CameraUtilConformWindowPolicy > &  overrideWindowPolicy)

Sets whether to override the window policy used to conform the camera if its aspect ratio is not matching the display window/viewport.

If first value is false, the HdCamera's window policy is used.

Note: using std::pair<bool, ...> here instead of std::optional<...> since the latter is only available in C++17 or later.

◆ SetPointColor()

HD_API void SetPointColor ( GfVec4f const &  color)

Set a point color for rendering where the R, G and B components are the color and the alpha component is the blend value.

◆ SetPointSelectedSize()

HD_API void SetPointSelectedSize ( float  size)

Set the point size for selected points.

◆ SetPointSize()

HD_API void SetPointSize ( float  size)

Set the point size for unselected points.

◆ SetUseAovMultiSample()

HD_API void SetUseAovMultiSample ( bool  state)

Returns true if the render pass wants to render into the multi-sample aovs.

Returns false if the render wants to render into the resolve aovs.

◆ SetViewport()

HD_API void SetViewport ( const GfVec4d viewport)

Sets the viewport to show the camera.

If SetViewport is called, any framing set earlier with SetFraming will be ignored.

Deprecated:
Use the more expressive SetFraming instead.

◆ SetWireframeColor()

HD_API void SetWireframeColor ( GfVec4f const &  color)

Set a wireframe color for rendering where the R, G and B components are the color and the alpha component is the blend value.


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