HDK
|
#include <renderDelegate.h>
Protected Member Functions | |
HD_API | HdRenderDelegate () |
This class must be derived from. More... | |
HD_API | HdRenderDelegate (HdRenderSettingsMap const &settingsMap) |
Allow derived classes to pass construction-time render settings. More... | |
HdRenderDelegate (const HdRenderDelegate &)=delete | |
HdRenderDelegate & | operator= (const HdRenderDelegate &)=delete |
HD_API void | _PopulateDefaultSettings (HdRenderSettingDescriptorList const &defaultSettings) |
Protected Attributes | |
HdRenderSettingsMap | _settingsMap |
Render settings state. More... | |
unsigned int | _settingsVersion |
Friends | |
class | HdRendererPluginRegistry |
Definition at line 95 of file renderDelegate.h.
|
virtual |
|
protected |
This class must be derived from.
|
protected |
Allow derived classes to pass construction-time render settings.
|
protecteddelete |
This class is not intended to be copied.
|
protected |
|
pure virtual |
Sync, Execute & Dispatch Hooks Notification point from the Engine to the delegate. This notification occurs after all Sync's have completed and before task execution.
This notification gives the Render Delegate a chance to update and move memory that the render may need.
For example, the render delegate might fill primvar buffers or texture memory.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
pure virtual |
Request to Allocate and Construct a new Bprim.
typeId | the type identifier of the prim to allocate |
sprimId | a unique identifier for the prim |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
Request to Allocate and Construct a Bprim to use as a standin, if there if an error with another another Bprim of the same type. For example, if another prim references a non-exisiting Bprim, the fallback could be used.
typeId | the type identifier of the prim to allocate |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
Request to Allocate and Construct an Sprim to use as a standin, if there if an error with another another Sprim of the same type. For example, if another prim references a non-exisiting Sprim, the fallback could be used.
typeId | the type identifier of the prim to allocate |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
pure virtual |
Instancer Factory Request to create a new instancer.
id | The unique identifier of this instancer. |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
pure virtual |
Renderpass Factory Request to create a new renderpass.
index | the render index to bind to the new renderpass. |
collection | the rprim collection to bind to the new renderpass. |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
virtual |
Request to create a new renderpass state. The default implementation creates an HdRenderPassState instance, but derived render delegates may instantiate their own state type.
shader | The render pass shader to use. If null, a new HdRenderPassShared will be created. |
Reimplemented in HdStRenderDelegate.
|
pure virtual |
Prim Factories Request to Allocate and Construct a new Rprim.
typeId | the type identifier of the prim to allocate |
rprimId | a unique identifier for the prim |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
pure virtual |
Request to Allocate and Construct a new Sprim.
typeId | the type identifier of the prim to allocate |
sprimId | a unique identifier for the prim |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
Request to Destruct and deallocate the prim.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
pure virtual |
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
Request to Destruct and deallocate the prim.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
Request to Destruct and deallocate the prim.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
virtual |
Gives capabilities of render delegate as data source (conforming to HdRenderCapabilitiesSchema).
|
virtual |
Commands API Get the descriptors for the commands supported by this render delegate.
Reimplemented in Hd_UnitTestNullRenderDelegate.
|
virtual |
AOVs Returns a default AOV descriptor for the given named AOV, specifying things like preferred format.
Reimplemented in HdStRenderDelegate.
Materials Returns a token that indicates material bindings should be used, based on the indicated purpose. The default purpose is HdTokens->preview.
|
virtual |
Returns a list, in descending order of preference, that can be used to select among multiple material network implementations. The default list contains an empty token.
Reimplemented in HdStRenderDelegate.
|
inline |
Populated when instantiated via the HdRendererPluginRegistry.
Definition at line 493 of file renderDelegate.h.
|
virtual |
Returns an opaque handle to a render param, that in turn is passed to each prim created by the render delegate during sync processing. This avoids the need to store a global state pointer in each prim.
The typical lifetime of the renderParam would match that of the RenderDelegate, however the minimal lifetime is that of the Sync processing. The param maybe queried multiple times during sync.
A render delegate may return null for the param.
Reimplemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
Get the current value for a render setting.
|
inline |
Get the current value for a render setting, taking a desired type and a fallback value in case of type mismatch.
Definition at line 166 of file renderDelegate.h.
|
virtual |
Get the backend-exported render setting descriptors.
Reimplemented in HdStRenderDelegate.
|
virtual |
Returns a list of namespace prefixes for render settings attributes relevant to a render delegate. This list is used to gather just the relevant attributes from render settings scene description. The default is an empty list, which will gather all custom (non-schema) attributes.
Get the current version of the render settings dictionary.
|
virtual |
Returns an open-format dictionary of render statistics
Reimplemented in HdStRenderDelegate.
|
pure virtual |
Returns a shared ptr to the resource registry of the current render delegate.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
virtual |
Returns the ordered list of shader source types that the render delegate supports.
Reimplemented in HdStRenderDelegate.
|
pure virtual |
Returns a list of typeId's of all supported Bprims by this render delegate.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
pure virtual |
Returns a list of typeId's of all supported Rprims by this render delegate.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
pure virtual |
Returns a list of typeId's of all supported Sprims by this render delegate.
Implemented in HdStRenderDelegate, and Hd_UnitTestNullRenderDelegate.
|
virtual |
Invokes the command described by the token command
with optional args
.
If the command succeeds, returns true
, otherwise returns false
. A command will generally fail if it is not among those returned by GetCommandDescriptors().
Reimplemented in Hd_UnitTestNullRenderDelegate.
bool HdRenderDelegate::IsParallelSyncEnabled | ( | TfToken | primType | ) | const |
Whether or not multithreaded sync is enabled for the specified prim type.
|
virtual |
Query the delegate's pause state. Returns true if the background rendering threads are currently paused.
|
virtual |
Control of background rendering threads. Advertise whether this delegate supports pausing and resuming of background render threads. Default implementation returns false.
|
virtual |
Return true to indicate that the render delegate wants rprim primvars to be filtered by the scene delegate to reduce the amount of primvars that are send to the render delegate. For example the scene delegate may check the bound material primvar requirements and send only those to the render delegate. Return false to not apply primvar filtering in the scene delegate. Defaults to false.
Reimplemented in HdStRenderDelegate.
|
virtual |
Query the delegate's stop state. Returns true if the background rendering threads are not currently active.
|
virtual |
Advertise whether this delegate supports stopping and restarting of background render threads. Default implementation returns false.
|
protecteddelete |
|
virtual |
Pause all of this delegate's background rendering threads. Default implementation does nothing.
Returns true
if successful.
|
virtual |
Restart all of this delegate's background rendering threads previously stopped by a call to Stop. Default implementation does nothing.
Returns true
if successful.
|
virtual |
Resume all of this delegate's background rendering threads previously paused by a call to Pause. Default implementation does nothing.
Returns true
if successful.
|
virtual |
Set list of driver objects, such as a rendering context / devices. This is automatically called from HdRenderIndex when a HdDriver is provided during its construction. Default implementation does nothing.
Reimplemented in HdStRenderDelegate.
|
virtual |
Set a custom render setting on this render delegate.
|
virtual |
Hydra 2.0 API
|
virtual |
Stop all of this delegate's background rendering threads; if blocking is true, the function waits until they exit. Default implementation does nothing.
Returns true
if successfully stopped.
Called at the beginning of HdRenderIndex::SyncAll, before render index prim sync, to provide the render delegate an opportunity to directly process change notices from observing the terminal scene index, rather than using the Hydra 1.0 Sync algorithm.
|
friend |
Definition at line 552 of file renderDelegate.h.
|
protected |
Render settings state.
Definition at line 547 of file renderDelegate.h.
|
protected |
Definition at line 548 of file renderDelegate.h.