7 #ifndef PXR_IMAGING_HDX_FULLSCREENSHADER_H
8 #define PXR_IMAGING_HDX_FULLSCREENSHADER_H
146 HdxFullscreenShader() =
delete;
147 HdxFullscreenShader(
const HdxFullscreenShader&) =
delete;
148 HdxFullscreenShader& operator=(
const HdxFullscreenShader&) =
delete;
151 void _CreateBufferResources();
154 void _SetResourceBindings();
157 void _SetVertexBufferDescriptor();
163 void _SetDefaultProgram(
bool writeDepth);
173 void _RecordDrawCmds()
override;
176 void _PrintCompileErrors();
198 #endif // PXR_IMAGING_HDX_FULLSCREENSHADER_H
HDX_API void SetProgram(const TfToken &glslfxPath, const TfToken &shaderName, HgiShaderFunctionDesc &fragDesc)
HDX_API void BindBuffers(HgiBufferHandleVector const &buffers)
int HgiHandle< class HgiTexture > HgiTextureHandle
std::vector< HgiTextureHandle > HgiTextureHandleVector
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)
HDX_API void BindTextures(HgiTextureHandleVector const &textures, HgiSamplerHandleVector const &samplers=HgiSamplerHandleVector())
#define PXR_NAMESPACE_CLOSE_SCOPE
HDX_API void SetBlendState(bool enableBlending, HgiBlendFactor srcColorBlendFactor, HgiBlendFactor dstColorBlendFactor, HgiBlendOp colorBlendOp, HgiBlendFactor srcAlphaBlendFactor, HgiBlendFactor dstAlphaBlendFactor, HgiBlendOp alphaBlendOp)
std::vector< HgiSamplerHandle > HgiSamplerHandleVector
HDX_API void SetAttachmentLoadStoreOp(HgiAttachmentLoadOp attachmentLoadOp, HgiAttachmentStoreOp attachmentStoreOp)