Mako 9.0.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
apexcustompostprocess.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025-2026 Hybrid Software Helix Ltd. All rights reserved.
3 */
4
5#ifndef JAWSMAKO_APEX_CUSTOM_POST_PROCESS_H
6#define JAWSMAKO_APEX_CUSTOM_POST_PROCESS_H
7
12
14#include <jawsmako/renderspec.h>
15
16namespace JawsMako
17{
18 using namespace EDL;
19
31 {
32 public:
34 CShaderParams(const IApexRenderer::IFragmentShaderPtr &_shader,
35 const IApexRenderer::CTextureVect &_textures,
36 const CEDLSimpleBuffer &_pushConstants)
37 {
38 shader = _shader;
39 textures = _textures;
40 pushConstants = _pushConstants;
41 }
42 IApexRenderer::IFragmentShaderPtr shader;
45 };
47
50
154 {
155 public:
167 static JAWSMAKO_API CCustomColorPostProcessSpecPtr create(const IDOMColorSpacePtr &_sourceSpace,
168 const IDOMColorSpacePtr &_targetSpace,
169 const IApexRenderer::IFragmentShaderPtr &shader,
171 const CEDLSimpleBuffer &pushConstants = CEDLSimpleBuffer());
172
173 virtual ePostProcessType getType() const
174 {
175 return ePPTCustomColor;
176 }
177
178 public:
179 IDOMColorSpacePtr sourceSpace;
180 IDOMColorSpacePtr targetSpace;
182 };
183 #define obj2CCustomColorPostProcessSpec(obj) CCustomColorPostProcessSpecPtr(dynamic_cast<CCustomColorPostProcessSpec *>((IRCObject *) obj), true)
184
185 class CCustomSpotPostProcessSpec;
187
284 {
285 public:
292 static JAWSMAKO_API CCustomSpotPostProcessSpecPtr create(const CShaderParamsVect &_params);
293
294 virtual ePostProcessType getType() const
295 {
296 return ePPTCustomSpot;
297 }
298
299 public:
301 };
302 #define obj2CCustomSpotPostProcessSpec(obj) CCustomSpotPostProcessSpecPtr(dynamic_cast<CCustomSpotPostProcessSpec *>((IRCObject *) obj), true)
303
304 class CCustomSpotMergePostProcessSpec;
306
423
425 {
426 public:
434 static JAWSMAKO_API CCustomSpotMergePostProcessSpecPtr create(const CSpotColorNames &_mergeSpotColors,
435 const CShaderParamsVect &_params);
436
437 virtual ePostProcessType getType() const
438 {
439 return ePPTCustomSpotMerge;
440 }
441
442 public:
443 // This is stored as a CColorantInfoVect for convenience, however only the names are used.
446 };
447 #define obj2CCustomSpotMergePostProcessSpec(obj) CCustomSpotMergePostProcessSpecPtr(dynamic_cast<CCustomSpotMergePostProcessSpec *>((IRCObject *) obj), true)
448
449}
450
451#endif
Support for GPU-accelerated rendering.
Definition edlsimplebuffer.h:26
Definition edlvector.h:30
CEDLVector< CColorantInfo > CColorantInfoVect
Definition idomcolorspace.h:845
Represents a custom post process step that operates on the color (i.e. non-spot components) using an ...
Definition apexcustompostprocess.h:154
IDOMColorSpacePtr targetSpace
Definition apexcustompostprocess.h:180
static JAWSMAKO_API CCustomColorPostProcessSpecPtr create(const IDOMColorSpacePtr &_sourceSpace, const IDOMColorSpacePtr &_targetSpace, const IApexRenderer::IFragmentShaderPtr &shader, const IApexRenderer::CTextureVect &textures=IApexRenderer::CTextureVect(), const CEDLSimpleBuffer &pushConstants=CEDLSimpleBuffer())
Create a custom color post process. Please see the class description for context.
CShaderParams params
Definition apexcustompostprocess.h:181
virtual ePostProcessType getType() const
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:173
IDOMColorSpacePtr sourceSpace
Definition apexcustompostprocess.h:179
Represents a custom post process step that merges spot components into an existing process result....
Definition apexcustompostprocess.h:425
static JAWSMAKO_API CCustomSpotMergePostProcessSpecPtr create(const CSpotColorNames &_mergeSpotColors, const CShaderParamsVect &_params)
Create a custom spot merging post process. Please see the class description for context.
virtual ePostProcessType getType() const
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:437
CShaderParamsVect params
Definition apexcustompostprocess.h:445
IDOMColorSpaceDeviceN::CColorantInfoVect mergeSpotColors
Definition apexcustompostprocess.h:444
Represents a custom post process step that operates on the spot components of a render using an exter...
Definition apexcustompostprocess.h:284
virtual ePostProcessType getType() const
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:294
CShaderParamsVect params
Definition apexcustompostprocess.h:300
static JAWSMAKO_API CCustomSpotPostProcessSpecPtr create(const CShaderParamsVect &_params)
Create a custom spot post process. Please see the class description for context.
A simple collection of shader parameters provided to a custom post process, consisting of a Vulkan sh...
Definition apexcustompostprocess.h:31
CShaderParams()
Definition apexcustompostprocess.h:33
IApexRenderer::CTextureVect textures
Definition apexcustompostprocess.h:43
IApexRenderer::IFragmentShaderPtr shader
Definition apexcustompostprocess.h:42
CShaderParams(const IApexRenderer::IFragmentShaderPtr &_shader, const IApexRenderer::CTextureVect &_textures, const CEDLSimpleBuffer &_pushConstants)
Definition apexcustompostprocess.h:34
CEDLSimpleBuffer pushConstants
Definition apexcustompostprocess.h:44
CEDLVector< ITexturePtr > CTextureVect
Definition apexrenderer.h:85
A class that describes a post process operation to be (logically) performed after an initial render t...
Definition renderspec.h:315
@ ePPTCustomSpot
Custom spot color manipulation on the GPU with a specially made shader.
Definition renderspec.h:330
@ ePPTCustomSpotMerge
Custom spot merging on the GPU with a specially made shader.
Definition renderspec.h:331
@ ePPTCustomColor
Custom color manipulation on the GPU with a specially made shader.
Definition renderspec.h:329
ePostProcessType
The possible types of post processing operations.
Definition renderspec.h:323
Definition apexcustompostprocess.h:17
CEDLVector< CShaderParams > CShaderParamsVect
Definition apexcustompostprocess.h:46
CEDLVector< U8String > CSpotColorNames
Definition types.h:171
Render specification classes and post-processes.
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29