Loading...
Searching...
No Matches
oitRenderTask.h
1//
2// Copyright 2019 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_HDX_OIT_RENDER_TASK_H
8#define PXR_IMAGING_HDX_OIT_RENDER_TASK_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/hdx/api.h"
12#include "pxr/imaging/hdx/version.h"
13#include "pxr/imaging/hdx/renderTask.h"
14
15#include <memory>
16
17PXR_NAMESPACE_OPEN_SCOPE
18
19using HdStRenderPassShaderSharedPtr = std::shared_ptr<HdStRenderPassShader>;
20
27{
28public:
29 HDX_API
30 HdxOitRenderTask(HdSceneDelegate* delegate, SdfPath const& id);
31
32 HDX_API
33 ~HdxOitRenderTask() override;
34
36 HDX_API
37 void Prepare(HdTaskContext* ctx,
38 HdRenderIndex* renderIndex) override;
39
41 HDX_API
42 void Execute(HdTaskContext* ctx) override;
43
44protected:
46 HDX_API
47 void _Sync(HdSceneDelegate* delegate,
48 HdTaskContext* ctx,
49 HdDirtyBits* dirtyBits) override;
50
51private:
52 HdxOitRenderTask() = delete;
53 HdxOitRenderTask(const HdxOitRenderTask &) = delete;
54 HdxOitRenderTask &operator =(const HdxOitRenderTask &) = delete;
55
56 HdStRenderPassShaderSharedPtr _oitTranslucentRenderPassShader;
57 HdStRenderPassShaderSharedPtr _oitOpaqueRenderPassShader;
58 const bool _isOitEnabled;
59};
60
61
62PXR_NAMESPACE_CLOSE_SCOPE
63
64#endif //PXR_IMAGING_HDX_OIT_RENDER_TASK_H
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
Definition: renderIndex.h:105
Adapter class providing data exchange with the client scene graph.
A task for rendering transparent geometry into OIT buffers.
Definition: oitRenderTask.h:27
HDX_API void _Sync(HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
Sync the render pass resources.
HDX_API void Prepare(HdTaskContext *ctx, HdRenderIndex *renderIndex) override
Prepare the tasks resources.
HDX_API void Execute(HdTaskContext *ctx) override
Execute render pass task.
A task for rendering geometry to pixels.
Definition: renderTask.h:49
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274