From cbc1440074d3756fed7d33c78e0b4f9bfcd53e84 Mon Sep 17 00:00:00 2001 From: David Lanier <122012029+lanierd-adsk@users.noreply.github.com> Date: Mon, 11 Mar 2024 16:07:45 +0100 Subject: [PATCH] HYDRA-689 : Add a flow viewport toolkit API .md file (#97) * HYDRA-689 : Add a flow viewport toolkit API .md file * Reference the new doc * HYDRA-689 : Convert to relative paths --- README.md | 3 +- doc/flowViewportToolkit.md | 101 ++++++++++++++++++ doc/images/fvpMergingSceneIndex.png | Bin 0 -> 63000 bytes .../API/fvpDataProducerSceneIndexInterface.h | 14 +-- 4 files changed, 108 insertions(+), 10 deletions(-) create mode 100644 doc/flowViewportToolkit.md create mode 100644 doc/images/fvpMergingSceneIndex.png diff --git a/README.md b/README.md index 0d63b256f1..817d9b0691 100644 --- a/README.md +++ b/README.md @@ -75,4 +75,5 @@ USD proxies in Viewport 2.0? Some potential reasons include: + [Building the mayaHydra.mll plugin](./doc/build.md) + [Coding guidelines](./doc/codingGuidelines.md) + [License](./doc/LICENSE.md) -+ [Plugin documentation](./README_DOC.md) \ No newline at end of file ++ [Plugin documentation](./README_DOC.md) ++ [Flow viewport toolkit documentation](./doc/flowViewportToolkit.md) \ No newline at end of file diff --git a/doc/flowViewportToolkit.md b/doc/flowViewportToolkit.md new file mode 100644 index 0000000000..9c4e9ea30c --- /dev/null +++ b/doc/flowViewportToolkit.md @@ -0,0 +1,101 @@ +# Flow viewport toolkit + +The Flow viewport toolkit is an API for clients to customize the Hydra viewport. + +## About the API +- It is based on **Hydra 2.0** and leverages the scene index mechanisms, it was not designed to be used with a Hydra 1.0 (scene delegate). +- It is located in the [Flow viewport toolkit folder](../lib/flowViewport/API). + +## What can we do with the API ? + + - Add Hydra primitives which are neither related to a usd stage nor are DCC native data through what we call a **data producer scene index**. + - Apply a **filtering scene index** to all primitives. Even if they are from another scene index including DCC native data, USD stages or a custom data producer scene index. + - Get information about the Hydra viewports and which render delegate they use + - Get the version of the API + + Each of the domain above is a separate C++ interface with only a few functions in it. + +## What is the Flow viewport toolkit merging scene index ? + +To be able to do filtering on all data from the DCC native data, USD stages and custom data producer scene indices adding new primitives, we use a merging scene index which gathers all scene indices into a single scene index, please see the following : + +![Flow viewport merging scene index schema](./images/fvpMergingSceneIndex.png) + +It's not the native Hydra merging scene index which you find in the HdRenderIndex class. +You may also have a look at the implementation of the *[MergingSceneIndex](../lib/flowViewport/sceneIndex/fvpMergingSceneIndex.cpp)* class. + +## Filtering Hydra primitives + +Hydra has the notion of a filtering scene index. It is a scene index which takes as an input another scene index. The input scene index can be of any type : a retained scene index, a data producer scene index, another filtering scene index etc. So you create a chain of scene indices. + +When the filtering scene index is asked to provide a certain primitive in its *GetPrim* method, it looks into the input scene index for that primitive, it can potentially modify the primitive's attributes or completely replace it by another custom primitive or just return the input scene index's primitive unmodified. +You can have a look at [an example of filtering scene index](../lib/flowViewport/API/samples/fvpFilteringSceneIndexExample.cpp). + +The interface to filter primitives is called *[FilteringSceneIndexInterface](../lib/flowViewport/API/fvpFilteringSceneIndexInterface.h)* which is used to register/unregister a *[FilteringSceneIndexClient](../lib/flowViewport/API/fvpFilteringSceneIndexClient.h)*. + +To get an instance of the *FilteringSceneIndexInterface* class, please use : + + Fvp::FilteringSceneIndexInterface& filteringSceneIndexInterface = Fvp::FilteringSceneIndexInterface::get(); + +The filtering scene indices are applied after the Flow viewport toolkit [MergingSceneIndex](../lib/flowViewport/sceneIndex/fvpMergingSceneIndex.cpp), so they apply to all scene indices (USD Stages scene indices, DCC native data scene indices, custom data producer scene indices). + +The *[FilteringSceneIndexClient](../lib/flowViewport/API/fvpFilteringSceneIndexClient.h)* class is a functor. It is not owned by the *FilteringSceneIndexInterface* when you register it. + +It contains a : +- display name which is a name associated with your filtering scene index, it is only used as an information and can be anything. +- category which is a container in which you want your filtering scene index (or scene index chain) to go to. Note : the filtering scene indices inside a Category don't have any specific priority when they are called. +- The renderer names to which your filtering scene index applies. Say "GL, Arnold" for applying this filter to Storm and the Arnold render delegates. Note : using *FvpViewportAPITokens->allRenderers* means applies to all render delegates. +- A DCC node as a *void** , dccNode is specific to a DCC (like Maya). For Maya it is a *MObject** DAG node. If you provide a non null pointer, we automatically track some events from the DCC node such as node deleted/undeleted or the visibility attribute updates. When the node is present and visible, we automatically apply the filtering scene index. And when it is deleted or not visible, we remove the filtering scene index, so no filtering is happening in that case. It is a convenient way for you to control the filtering through a Maya node. If it is a *nullptr*, we always apply the filtering scene index until you unregister it. + +The implementation can be found in the *[FilteringSceneIndexInterfaceImp](../lib/flowViewport/API/interfacesImp/fvpFilteringSceneIndexInterfaceImp.cpp)* and in the *[FilteringSceneIndicesChainManager](../lib/flowViewport/API/perViewportSceneIndicesData/fvpFilteringSceneIndicesChainManager.cpp)* classes. + +## Adding Hydra primitives +To add new primitives in a viewport, we created an interface called *[DataProducerSceneIndexInterface](../lib/flowViewport/API/fvpDataProducerSceneIndexInterface.h)*. It is used to manage data producer scene indices in a Hydra viewport. A data producer scene index is a scene index that adds primitives. +These new primitives are created without the need of a DCC native object or a USD stage. You can create them from scratch. +To get an instance of the DataProducerSceneIndexInterface class, please use : + + Fvp::DataProducerSceneIndexInterface& dataProducerSceneIndexInterface = Fvp::DataProducerSceneIndexInterface::get(); +This interface lets you : +- Add a data producer scene index +- Remove a data producer scene index previously added through this interface + +The data producer scene index added will be merged by our [Flow viewport merging scene index](../lib/flowViewport/sceneIndex/fvpMergingSceneIndex.cpp) so it gets populated with all primitives coming from the DCC native data, USD stages or other custom data producer scene indices. +When adding primitives through *[Fvp::DataProducerSceneIndexInterface::addDataProducerSceneIndex](../lib/flowViewport/API/fvpDataProducerSceneIndexInterface.h#L75)* +You provide : + + - a *HdSceneIndexBaseRefPtr* which is the scene index producing primitives (it could also be the last scene index of a scene index chain, as soon as it creates some primitives) + - a *SdfPath* which is a prefix you want to add to all your data producer scene index primitives. Note : if you don't want any prefix, pass *SdfPath::AbsoluteRootPath()* to this parameter. + - a dccNode is a *MObject** from a DAG node for Maya. If you provide a no null pointer, we automatically track some events from attributes such as transform or visibility updated and apply this change to the primitives from the data producer scene index. If the node gets deleted, we remove the scene index primitives from the merging scene index. If this parameter is a *nullptr*, we won't do anything if the node's attributes changes or the node gets deleted. Basically, this is a way for you to set the DCC node as a parent node for all your primitives from the scene index. + - a hydraViewportId which is a Hydra viewport string identifier to which your data producer scene index needs to be associated to. This is a way to add your primitives to only one viewport. Note : set it to *PXR_NS::FvpViewportAPITokens->allViewports* to add this data producer scene index to all viewports. To retrieve a specific hydra viewport identifier, please use the *[InformationInterface](../lib/flowViewport/API/fvpInformationInterface.h)* class. + - a rendererNames which are the Hydra renderer (render delegate) names to which this scene index should be added. This is only used when hydraViewportId above is set to *PXR_NS::FvpViewportAPITokens->allViewports*, meaning you want to add this scene index to all viewports that are using these renderers. Note : to apply to multiple renderers, use a separator such as : "GL, Arnold". We are actually looking for the render delegate's name in this string. Set this parameter to *PXR_NS::FvpViewportAPITokens->allRenderers* to add your scene index to all viewports whatever their renderer is. +An example of data producer scene index can be found in [DataProducerSceneIndexExample](../lib/flowViewport/API/samples/fvpDataProducerSceneIndexExample.cpp). + +## Get Hydra viewports information +The interface to get Hydra viewports information is called *[InformationInterface](../lib/flowViewport/API/fvpInformationInterface.h)*. +To get an instance of the InformationInterface class, please use : + + Fvp::InformationInterface& informationInterface = Fvp::InformationInterface::Get(); + +It can be used to : + - Register /unregister a functor which is the *[Fvp::InformationClient](../lib/flowViewport/API/fvpInformationClient.h)* class to register callbacks when a new Hydra viewport is created/deleted. + - Get the existing Hydra viewport information via the [Fvp::InformationInterface::GetViewportInformation](../lib/flowViewport/API/fvpInformationInterface.h#L100) method + +The information we provide from a Hydra viewport is in the *[Fvp::InformationInterface::ViewportsInformation](../lib/flowViewport/API/fvpInformationInterface.h#L43)* struct and contains (at the time of this writing): + + - a viewportId which is a Hydra viewport string identifier which is unique for all hydra viewports during a session. + - a cameraName which is the name of the camera/viewport when the viewport was created, it is not updated if the camera's name changes. + - a rendererName which is the Hydra viewport renderer name (example : "GL" for Storm or "Arnold" for the Arnold render delegate) + +This struct may be extended in the future to contain more information. + +## Get Flow viewport toolkit version +This is to get the version of the API through the *[Fvp::VersionInterface](../lib/flowViewport/API/fvpVersionInterface.h)* class. +To get an instance of the *VersionInterface* class, please use : + + Fvp::VersionInterface& versionInterface = Fvp::VersionInterface::Get(); + +You get the version as semantic versioning : majorVersion, minorVersion and patchLevel. + +## Samples +The API contains examples which are Maya projects on how to filter and add primitives and get viewport information, please see [Flow viewport API examples](../lib/mayaHydra/flowViewportAPIExamples). + diff --git a/doc/images/fvpMergingSceneIndex.png b/doc/images/fvpMergingSceneIndex.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2bd7457e2cf26297a8d72daeac1e38e5e554e2 GIT binary patch literal 63000 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 z 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௞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 )Up@WtAZ#Cc2yEMI^31|#6S-{1C8F`Z$l7#~ znVA``Ksx%HVp+})3Bh%h0q>3?3Y%J&IUVO)DQcPJqqqTeAY5dXF5^l}uRle)w=I^@ zE#?yYY&m!_d0cbeq>O9>7*VSrV?A-bOq_Uu*w^^2uw`C0kLXxnKthsa=hIRh49MPK z3|F&^xcKzif*57ml0{9m)(DPG|JNGs+dPUZ@%tdIsJOekhyN<*9@jCGpEZ_1#T#(< zx}{cH*MG{*R3IdV1;7xAcLendy9Q?~GtJgT+1 zO*YTzWif`TYe4CjcFHqvlDvZca!<)%DC-Q!Ps09T|1EL+2l)A)pSf;*_@let8TViH znxCuQ`TYS?`0m|bqAjVM?(@&|+Ko}==jc%H#n=S{JD$oiF1#O)t9fX1v%0A%jaF<* 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. * Basically, we merge this scene index with the others scene indices from the viewport which are the usd stages, the DCC native * data and any others custom data producer scene indices like this one. * @@ -58,17 +58,14 @@ namespace FVP_NS_DEF * Basically, this is a way for you to set the DCC node as a parent node for all your primitives from the scene index. * * @param[in] hydraViewportId is a Hydra viewport string identifier to which customDataProducerSceneIndex needs to be associated to. - * Set it to DataProducerSceneIndexInterface::allViewports to add this data producer scene index to all viewports. + * Set it to PXR_NS::FvpViewportAPITokens->allViewports to add this data producer scene index to all viewports. * To retrieve a specific hydra viewport identifier, please use the InformationInterface class. * * @param[in] rendererNames : are the Hydra renderer names to which this scene index should be added. - * This is only used when hydraViewportId is set to DataProducerSceneIndexInterface::allViewports, meaning you want to add this scene index to all viewports + * This is only used when hydraViewportId is set to PXR_NS::FvpViewportAPITokens->allViewports, meaning you want to add this scene index to all viewports * that are using these renderers. * To apply to multiple renderers, use a separator such as ",". E.g : "GL, Arnold". We are actually looking for the render delegate's name in this string. - * Set this parameter to FvpViewportAPITokens->allRenderers to add your scene index to all viewports whatever their renderer is. - * - * @param[in] customDataProducerSceneIndexRootPathForInsertion is the root path for insertion used as a second parameter of HdRenderIndex::InsertSceneIndex method. - * e.g : renderIndex.InsertSceneIndex(customDataProducerSceneIndex, customDataProducerSceneIndexRootPathForInsertion); + * Set this parameter to PXR_NS::FvpViewportAPITokens->allRenderers to add your scene index to all viewports whatever their renderer is. * * @return true if the operation succeeded, false otherwise. */ @@ -86,8 +83,7 @@ namespace FVP_NS_DEF * * @param[in] customDataProducerSceneIndex is the custom scene index to remove. * - * @param[in] hydraViewportId is the hydra viewport string identifier to which customDataProducerSceneIndex was associated to or DataProducerSceneIndexInterface::allViewports - * if it was applied to all viewports. + * @param[in] hydraViewportId is the hydra viewport string identifier to which customDataProducerSceneIndex was associated to. */ virtual void removeViewportDataProducerSceneIndex(const PXR_NS::HdSceneIndexBaseRefPtr& customDataProducerSceneIndex, const std::string& hydraViewportId = PXR_NS::FvpViewportAPITokens->allViewports