MCPcopy Create free account
hub / github.com/DiligentGraphics/DiligentFX / HnTaskManager

Method HnTaskManager

Hydrogent/src/Tasks/HnTaskManager.cpp:140–223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

138
139
140HnTaskManager::HnTaskManager(pxr::HdRenderIndex& RenderIndex,
141 const pxr::SdfPath& ManagerId) :
142 m_RenderIndex{RenderIndex},
143 m_ManagerId{ManagerId},
144 m_ParamsDelegate{RenderIndex, ManagerId}
145{
146 // Task creation order defines the default task order
147 CreateBeginFrameTask();
148 if (static_cast<const HnRenderDelegate*>(RenderIndex.GetRenderDelegate())->GetShadowMapManager())
149 {
150 CreateRenderShadowsTask();
151 }
152 CreateBeginMainPassTask();
153
154 // Opaque selected RPrims -> {GBuffer + SelectionDepth}
155 CreateRenderRprimsTask(HnMaterialTagTokens->defaultTag,
156 TaskUID_RenderRprimsDefaultSelected,
157 {
158 HnRenderResourceTokens->renderPass_OpaqueSelected,
159 HnRenderPassParams::SelectionType::Selected,
160 USD_Renderer::USD_PSO_FLAG_ENABLE_ALL_OUTPUTS,
161 });
162 CreateRenderRprimsTask(HnMaterialTagTokens->masked,
163 TaskUID_RenderRprimsMaskedSelected,
164 {
165 HnRenderResourceTokens->renderPass_OpaqueSelected,
166 HnRenderPassParams::SelectionType::Selected,
167 USD_Renderer::USD_PSO_FLAG_ENABLE_ALL_OUTPUTS,
168 });
169
170 CreateCopySelectionDepthTask();
171
172 // Opaque unselected RPrims and all transparent RPrims -> {GBuffer + MainDepth}
173 CreateRenderRprimsTask(HnMaterialTagTokens->defaultTag,
174 TaskUID_RenderRprimsDefaultUnselected,
175 {
176 HnRenderResourceTokens->renderPass_OpaqueUnselected_TransparentAll,
177 HnRenderPassParams::SelectionType::Unselected,
178 USD_Renderer::USD_PSO_FLAG_ENABLE_ALL_OUTPUTS,
179 });
180 CreateRenderRprimsTask(HnMaterialTagTokens->masked,
181 TaskUID_RenderRprimsMaskedUnselected,
182 {
183 HnRenderResourceTokens->renderPass_OpaqueUnselected_TransparentAll,
184 HnRenderPassParams::SelectionType::Unselected,
185 USD_Renderer::USD_PSO_FLAG_ENABLE_ALL_OUTPUTS,
186 });
187 CreateRenderEnvMapTask(HnRenderResourceTokens->renderPass_OpaqueUnselected_TransparentAll);
188 CreateRenderBoundBoxTask(HnRenderResourceTokens->renderPass_OpaqueUnselected_TransparentAll);
189 CreateRenderRprimsTask(HnMaterialTagTokens->additive,
190 TaskUID_RenderRprimsAdditive,
191 {
192 HnRenderResourceTokens->renderPass_OpaqueUnselected_TransparentAll,
193 HnRenderPassParams::SelectionType::All,
194 USD_Renderer::USD_PSO_FLAG_ENABLE_ALL_OUTPUTS,
195 });
196 CreateRenderRprimsTask(HnMaterialTagTokens->translucent,
197 TaskUID_RenderRprimsTranslucent,

Callers

nothing calls this directly

Calls 1

GetShadowMapManagerMethod · 0.80

Tested by

no test coverage detected