7 #ifndef HDX_COLORCORRECTION_TASK_H
8 #define HDX_COLORCORRECTION_TASK_H
104 struct _TextureSamplerDesc {
111 struct _UniformBufferDesc {
112 std::string typeName;
114 std::vector<uint8_t>
data;
121 struct _OCIOResources {
122 std::vector<_TextureSamplerDesc> luts;
123 std::vector<_UniformBufferDesc> ubos;
124 std::vector<unsigned char> constantValues;
125 std::string gpuShaderText;
130 _CreateOpenColorIOResources(
135 _CreateOpenColorIOResourcesImpl(
141 bool _GetUseOcio()
const;
144 bool _CreateShaderResources();
147 std::string _CreateOpenColorIOShaderCode(std::string &ocioGpuShaderText,
151 bool _CreateBufferResources();
163 bool _CreateAovSampler();
172 void _DestroyShaderProgram();
175 void _PrintCompileErrors();
180 _OCIOResources _ocioResources;
187 struct TextureSamplerInfo
192 std::string samplerName;
195 std::vector<TextureSamplerInfo> _textureLUTs;
199 std::string typeName;
204 std::vector<BufferInfo> _bufferConstants;
209 float _screenSize[2];
211 std::unique_ptr<class WorkDispatcher> _workDispatcher;
friend struct HdxColorCorrectionTask_UboBuilder
int HgiHandle< class HgiTexture > HgiTextureHandle
**But if you need a result
TfToken colorCorrectionMode
GLenum const GLfloat * params
HDX_API void Prepare(HdTaskContext *ctx, HdRenderIndex *renderIndex) override
Prepare the tasks resources.
HDX_API std::ostream & operator<<(std::ostream &out, const HdxColorCorrectionTaskParams &pv)
HDX_API ~HdxColorCorrectionTask() override
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
GLuint const GLchar * name
std::unordered_map< TfToken, VtValue, TfToken::HashFunctor > HdTaskContext
std::string colorspaceOCIO
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
HDX_API HdxColorCorrectionTaskParams()
#define PXR_NAMESPACE_CLOSE_SCOPE
HDX_API void Execute(HdTaskContext *ctx) override
Execute the color correction task.
HDX_API void _Sync(HdSceneDelegate *delegate, HdTaskContext *ctx, HdDirtyBits *dirtyBits) override
Sync the render pass resources.
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.