24 #ifndef PXR_IMAGING_HDX_FULLSCREENSHADER_H
25 #define PXR_IMAGING_HDX_FULLSCREENSHADER_H
159 HdxFullscreenShader() =
delete;
160 HdxFullscreenShader(
const HdxFullscreenShader&) =
delete;
161 HdxFullscreenShader& operator=(
const HdxFullscreenShader&) =
delete;
164 void _CreateBufferResources();
167 void _SetResourceBindings();
170 void _SetVertexBufferDescriptor();
173 bool _CreateSampler();
176 void _SetDefaultProgram(
bool writeDepth);
186 void _RecordDrawCmds()
override;
189 void _PrintCompileErrors();
210 #endif // PXR_IMAGING_HDX_FULLSCREENSHADER_H
HDX_API void SetProgram(const TfToken &glslfxPath, const TfToken &shaderName, HgiShaderFunctionDesc &fragDesc)
GLsizei const GLchar *const * string
HDX_API void BindBuffers(HgiBufferHandleVector const &buffers)
int HgiHandle< class HgiTexture > HgiTextureHandle
std::vector< HgiTextureHandle > HgiTextureHandleVector
HDX_API void BindTextures(HgiTextureHandleVector const &textures)
std::vector< HgiBufferHandle > HgiBufferHandleVector
HDX_API void Draw(HgiTextureHandle const &colorDst, HgiTextureHandle const &depthDst)
HDX_API void SetDepthState(HgiDepthStencilState const &state)
HDX_API ~HdxFullscreenShader() override
Destroy the fullscreen shader object, releasing GPU resources.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
HDX_API void SetShaderConstants(uint32_t byteSize, const void *data)
#define PXR_NAMESPACE_CLOSE_SCOPE
HDX_API void SetBlendState(bool enableBlending, HgiBlendFactor srcColorBlendFactor, HgiBlendFactor dstColorBlendFactor, HgiBlendOp colorBlendOp, HgiBlendFactor srcAlphaBlendFactor, HgiBlendFactor dstAlphaBlendFactor, HgiBlendOp alphaBlendOp)
HDX_API void SetAttachmentLoadStoreOp(HgiAttachmentLoadOp attachmentLoadOp, HgiAttachmentStoreOp attachmentStoreOp)