7 #ifndef PXR_IMAGING_HDX_FULLSCREENSHADER_H
8 #define PXR_IMAGING_HDX_FULLSCREENSHADER_H
151 HdxFullscreenShader() =
delete;
152 HdxFullscreenShader(
const HdxFullscreenShader&) =
delete;
153 HdxFullscreenShader& operator=(
const HdxFullscreenShader&) =
delete;
156 void _CreateBufferResources();
159 void _SetResourceBindings();
162 void _SetVertexBufferDescriptor();
168 void _SetDefaultProgram(
bool writeDepth);
178 void _RecordDrawCmds()
override;
181 void _PrintCompileErrors();
203 #endif // PXR_IMAGING_HDX_FULLSCREENSHADER_H
HDX_API void SetProgram(const TfToken &glslfxPath, const TfToken &shaderName, HgiShaderFunctionDesc &fragDesc)
#define PXR_NAMESPACE_OPEN_SCOPE
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.
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 SetClearState(GfVec4f clearColor, GfVec4f clearDepth)