Mako 9.1.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 ePostProcessType getType() const override
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 ePostProcessType getType() const override
295 {
296 return ePPTCustomSpot;
297 }
298
299 public:
301 };
302 #define obj2CCustomSpotPostProcessSpec(obj) CCustomSpotPostProcessSpecPtr(dynamic_cast<CCustomSpotPostProcessSpec *>((IRCObject *) obj), true)
303
304 class CCustomColorTexturePostProcessSpec;
306
380 {
381 public:
386
400 static JAWSMAKO_API CCustomColorTexturePostProcessSpecPtr create(const IDOMColorSpacePtr &_sourceSpace,
401 const IDOMColorSpacePtr &_targetSpace,
402 const IApexRenderer::IFragmentShaderPtr &shader,
403 uint32 _extend,
405 const CEDLSimpleBuffer &pushConstants = CEDLSimpleBuffer());
406
407 ePostProcessType getType() const override
408 {
410 }
411
412 public:
414 };
415 #define obj2CCustomColorTexturePostProcessSpec(obj) CCustomColorTexturePostProcessSpecPtr(dynamic_cast<CCustomColorTexturePostProcessSpec *>((IRCObject *) obj), true)
416
417 class CCustomSpotTexturePostProcessSpec;
419
490 {
491 public:
496
505 static JAWSMAKO_API CCustomSpotTexturePostProcessSpecPtr create(const CShaderParamsVect &_params,
506 uint32 _extend);
507
508 ePostProcessType getType() const override
509 {
511 }
512
513 public:
515 };
516 #define obj2CCustomSpotTexturePostProcessSpec(obj) CCustomSpotTexturePostProcessSpecPtr(dynamic_cast<CCustomSpotTexturePostProcessSpec *>((IRCObject *) obj), true)
517
518 class CCustomSpotMergePostProcessSpec;
520
637
639 {
640 public:
648 static JAWSMAKO_API CCustomSpotMergePostProcessSpecPtr create(const CSpotColorNames &_mergeSpotColors,
649 const CShaderParamsVect &_params);
650
651 ePostProcessType getType() const override
652 {
653 return ePPTCustomSpotMerge;
654 }
655
656 public:
657 // This is stored as a CColorantInfoVect for convenience, however only the names are used.
660 };
661 #define obj2CCustomSpotMergePostProcessSpec(obj) CCustomSpotMergePostProcessSpecPtr(dynamic_cast<CCustomSpotMergePostProcessSpec *>((IRCObject *) obj), true)
662
663}
664
665#endif
Support for GPU-accelerated rendering.
Definition edlsimplebuffer.h:26
Definition edlvector.h:31
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
ePostProcessType getType() const override
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:173
IDOMColorSpacePtr sourceSpace
Definition apexcustompostprocess.h:179
As per CCustomSpotPostProcessSpec, but where the inputs are provided as textures instead of regular s...
Definition apexcustompostprocess.h:380
static JAWSMAKO_API CCustomColorTexturePostProcessSpecPtr create(const IDOMColorSpacePtr &_sourceSpace, const IDOMColorSpacePtr &_targetSpace, const IApexRenderer::IFragmentShaderPtr &shader, uint32 _extend, const IApexRenderer::CTextureVect &textures=IApexRenderer::CTextureVect(), const CEDLSimpleBuffer &pushConstants=CEDLSimpleBuffer())
Create a custom color post process. Please see the class description for context.
CCustomColorTexturePostProcessSpec()
Definition apexcustompostprocess.h:382
ePostProcessType getType() const override
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:407
uint32 extend
Definition apexcustompostprocess.h:413
Represents a custom post process step that merges spot components into an existing process result....
Definition apexcustompostprocess.h:639
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.
ePostProcessType getType() const override
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:651
CShaderParamsVect params
Definition apexcustompostprocess.h:659
IDOMColorSpaceDeviceN::CColorantInfoVect mergeSpotColors
Definition apexcustompostprocess.h:658
Represents a custom post process step that operates on the spot components of a render using an exter...
Definition apexcustompostprocess.h:284
ePostProcessType getType() const override
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.
As per CCustomSpotPostProcessSpec, but where the inputs are provided as textures instead of regular s...
Definition apexcustompostprocess.h:490
uint32 extend
Definition apexcustompostprocess.h:514
ePostProcessType getType() const override
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:508
static JAWSMAKO_API CCustomSpotTexturePostProcessSpecPtr create(const CShaderParamsVect &_params, uint32 _extend)
Create a custom spot post process. Please see the class description for context.
CCustomSpotTexturePostProcessSpec()
Definition apexcustompostprocess.h:492
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:93
A class that describes a post process operation to be (logically) performed after an initial render t...
Definition renderspec.h:315
@ ePPTCustomColorTexture
Definition renderspec.h:330
@ ePPTCustomSpot
Custom spot color manipulation on the GPU with a user-supplied shader.
Definition renderspec.h:332
@ ePPTCustomSpotMerge
Custom spot merging on the GPU with a specially made shader.
Definition renderspec.h:335
@ ePPTCustomColor
Custom color manipulation on the GPU with a user-supplied shader.
Definition renderspec.h:329
@ ePPTCustomSpotTexture
Definition renderspec.h:333
unsigned int uint32
Definition edltypes.h:36
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:175
Render specification classes and post-processes.
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29