7#ifndef PXR_IMAGING_HDX_OIT_BUFFER_ACCESSOR_H
8#define PXR_IMAGING_HDX_OIT_BUFFER_ACCESSOR_H
11#include "pxr/imaging/hdx/api.h"
12#include "pxr/imaging/hdx/version.h"
14#include "pxr/imaging/hd/task.h"
20PXR_NAMESPACE_OPEN_SCOPE
25using HdBufferArrayRangeSharedPtr =
26 std::shared_ptr<class HdBufferArrayRange>;
28using HdStRenderPassShaderSharedPtr =
29 std::shared_ptr<class HdStRenderPassShader>;
35 static bool IsOitEnabled();
43 static bool IsOitPackedDepthEnabled();
77 HdBufferArrayRangeSharedPtr
const &_GetBar(
const TfToken &);
79 HdTaskContext *
const _ctx;
82PXR_NAMESPACE_CLOSE_SCOPE
Basic type for a vector of 2 int components.
The render index is part of the Hydra 1.0 API and is only used for emulation purposes so that HdScene...
Class for OIT render tasks to access the OIT buffers.
HDX_API void InitializeOitBuffersIfNecessary(Hgi *hgi)
Called during Excecute before writing to OIT buffers.
HDX_API bool ResizeOitBuffersIfNecessary(HdRenderIndex *renderIndex, GfVec2i const &screenSize, GfVec2i *prevScreenSize)
Called during Prepare (by OitResolveTask) to grow OIT bars to fit the current screen.
HDX_API void RequestOitBuffers()
Called during Prepare to indicate that OIT buffers are needed.
HDX_API void AllocateOitBuffersIfNecessary(HdRenderIndex *renderIndex)
Called during Prepare to allocate OIT bars if not yet in context.
HDX_API bool AddOitBufferBindings(const HdStRenderPassShaderSharedPtr &)
Called during Execute to add necessary OIT buffer shader bindings.
Hydra Graphics Interface.
Token for efficient comparison, assignment, and hashing of known strings.