7 #ifndef PXR_IMAGING_HDX_TASK_CONTROLLER_H
8 #define PXR_IMAGING_HDX_TASK_CONTROLLER_H
44 bool gpuEnabled =
true);
173 const std::optional<CameraUtilConformWindowPolicy> &policy);
283 HdxTaskController &operator=(HdxTaskController
const&) =
delete;
291 void _CreateRenderGraph();
293 void _CreateLightingTask();
294 void _CreateShadowTask();
297 void _CreateOitResolveTask();
298 void _CreateSelectionTask();
299 void _CreateColorizeSelectionTask();
300 void _CreateColorCorrectionTask();
301 void _CreateVisualizeAovTask();
302 void _CreatePickTask();
303 void _CreatePickFromRenderBufferTask();
304 void _CreateBoundingBoxTask();
305 void _CreateAovInputTask();
306 void _CreatePresentTask();
308 void _SetCameraParamForTasks(
SdfPath const&
id);
309 void _SetCameraFramingForTasks();
310 void _UpdateAovDimensions(
GfVec2i const& dimensions);
312 void _SetBlendStateForMaterialTag(
TfToken const& materialTag,
316 bool _ShadowsEnabled()
const;
317 bool _SelectionEnabled()
const;
318 bool _ColorizeSelectionEnabled()
const;
319 bool _ColorCorrectionEnabled()
const;
320 bool _VisualizeAovEnabled()
const;
321 bool _ColorizeQuantizationEnabled()
const;
322 bool _AovsSupported()
const;
323 bool _UsingAovs()
const;
331 bool _SupportBuiltInLightTypes();
332 void _SetBuiltInLightingState(GlfSimpleLightingContextPtr
const&
src);
342 void _SetMaterialNetwork(
SdfPath const& pathName,
345 void _RemoveLightSprim(
size_t const& pathIdx);
346 void _ReplaceLightSprim(
size_t const& pathIdx,
GlfSimpleLight const& light,
359 ~_Delegate()
override =
default;
362 template <
typename T>
365 _valueCacheMap[
id][key] =
value;
367 template <
typename T>
375 return vParams.
Get<
T>();
380 vCache.count(key) > 0) {
390 TfToken const& paramName)
override;
392 bool IsEnabled(
TfToken const& option)
const override;
394 GetRenderBufferDescriptor(
SdfPath const&
id)
override;
401 _ValueCacheMap _valueCacheMap;
404 std::unique_ptr<class HdxFreeCameraSceneDelegate> _freeCameraSceneDelegate;
413 SdfPath _colorizeSelectionTaskId;
414 SdfPath _colorCorrectionTaskId;
417 SdfPath _pickFromRenderBufferTaskId;
434 std::optional<CameraUtilConformWindowPolicy> _overrideWindowPolicy;
441 #endif // PXR_IMAGING_HDX_TASK_CONTROLLER_H
HDX_API HdTaskSharedPtrVector GetRenderingTasks() const
HDX_API void SetOverrideWindowPolicy(const std::optional< CameraUtilConformWindowPolicy > &policy)
HDX_API ~HdxTaskController()
HDX_API void SetRenderParams(HdxRenderTaskParams const ¶ms)
HDX_API HdAovDescriptor GetRenderOutputSettings(TfToken const &name) const
Get parameters for an AOV.
HDX_API void SetBBoxParams(const HdxBoundingBoxTaskParams ¶ms)
Set the bounding box params.
#define PXR_NAMESPACE_OPEN_SCOPE
GLsizei const GLfloat * value
HDX_API SdfPathVector GetPickingTaskPaths() const
GLenum GLenum GLsizei const GLuint GLboolean enabled
HDX_API void SetRenderOutputs(TfTokenVector const &names)
HDX_API void SetRenderBufferSize(const GfVec2i &size)
std::vector< HdTaskSharedPtr > HdTaskSharedPtrVector
HDX_API HdTaskSharedPtrVector GetPickingTasks() const
HDX_API HdRenderBuffer * GetRenderOutput(TfToken const &name)
GLenum const GLfloat * params
HdRenderIndex * GetRenderIndex()
Return the render index this controller is bound to.
HDX_API void SetViewportRenderOutput(TfToken const &name)
HdRenderIndex const * GetRenderIndex() const
SdfPath const & GetControllerId() const
bool TfMapLookup(Container const &map, Key const &key, Result *valuePtr)
HDX_API void SetFraming(const CameraUtilFraming &framing)
HDX_API void SetLightingState(GlfSimpleLightingContextPtr const &src)
HDX_API void SetCameraPath(SdfPath const &id)
std::vector< class SdfPath > SdfPathVector
HDX_API HdxTaskController(HdRenderIndex *renderIndex, SdfPath const &controllerId, bool gpuEnabled=true)
HDX_API void SetSelectionColor(GfVec4f const &color)
Set the selection color.
HDX_API void SetFreeCameraClipPlanes(std::vector< GfVec4d > const &clipPlanes)
std::vector< TfToken > TfTokenVector
Convenience types.
GLuint const GLchar * name
HDX_API bool IsConverged() const
HDX_API void SetShadowParams(HdxShadowTaskParams const ¶ms)
HDX_API void SetSelectionEnableOutline(bool enableOutline)
HDX_API void SetRenderOutputSettings(TfToken const &name, HdAovDescriptor const &desc)
Set custom parameters for an AOV.
HDX_API SdfPathVector GetRenderingTaskPaths() const
HDX_API void SetColorCorrectionParams(HdxColorCorrectionTaskParams const ¶ms)
Configure color correction by settings params.
HDX_API void SetEnablePresentation(bool enabled)
HDX_API void SetRenderViewport(GfVec4d const &viewport)
#define PXR_NAMESPACE_CLOSE_SCOPE
HDX_API void SetRenderTags(TfTokenVector const &renderTags)
HDX_API SdfPath GetFreeCameraPath()
Get the free camera's Hydra prim path.
HDX_API void SetPresentationOutput(TfToken const &api, VtValue const &framebuffer)
HDX_API void SetSelectionOutlineRadius(unsigned int radius)
HDX_API void SetEnableSelection(bool enable)
Turns the selection task on or off.
HDX_API void SetCollection(HdRprimCollection const &collection)
Set the collection to be rendered.
HDX_API void SetFreeCameraMatrices(GfMatrix4d const &viewMatrix, GfMatrix4d const &projectionMatrix)
HDX_API void SetEnableShadows(bool enable)
Turns the shadow task on or off.
HDX_API void SetSelectionLocateColor(GfVec4f const &color)
Set the selection locate (over) color.