Loading...
Searching...
No Matches
oitVolumeRenderTask.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_VOLUME_RENDER_TASK_H
8#define PXR_IMAGING_HDX_OIT_VOLUME_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 "pxr/imaging/hdSt/renderPassState.h"
16
17PXR_NAMESPACE_OPEN_SCOPE
18
25{
26public:
27 HDX_API
29
30 HDX_API
31 ~HdxOitVolumeRenderTask() override;
32
34 HDX_API
35 void Prepare(HdTaskContext* ctx,
36 HdRenderIndex* renderIndex) override;
37
39 HDX_API
40 void Execute(HdTaskContext* ctx) override;
41
42protected:
44 HDX_API
45 void _Sync(HdSceneDelegate* delegate,
46 HdTaskContext* ctx,
47 HdDirtyBits* dirtyBits) override;
48
49private:
50 HdxOitVolumeRenderTask() = delete;
52 HdxOitVolumeRenderTask &operator =(const HdxOitVolumeRenderTask &) = delete;
53
54 HdStRenderPassShaderSharedPtr _oitVolumeRenderPassShader;
55 const bool _isOitEnabled;
56};
57
58
59PXR_NAMESPACE_CLOSE_SCOPE
60
61#endif //PXR_IMAGING_HDX_OIT_VOLUME_RENDER_TASK_H
The render index is part of the Hydra 1.0 API and is only used for emulation purposes so that HdScene...
Adapter class providing data exchange with the client scene graph.
A task for rendering transparent geometry into OIT buffers.
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:281