Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
apexcustompostprocess.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025 Global Graphics Software 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
142 {
143 public:
155 static JAWSMAKO_API CCustomColorPostProcessSpecPtr create(const IDOMColorSpacePtr &_sourceSpace,
156 const IDOMColorSpacePtr &_targetSpace,
157 const IApexRenderer::IFragmentShaderPtr &shader,
159 const CEDLSimpleBuffer &pushConstants = CEDLSimpleBuffer());
160
161 virtual ePostProcessType getType() const
162 {
163 return ePPTCustomColor;
164 }
165
166 public:
167 IDOMColorSpacePtr sourceSpace;
168 IDOMColorSpacePtr targetSpace;
170 };
171 #define obj2CCustomColorPostProcessSpec(obj) CCustomColorPostProcessSpecPtr(dynamic_cast<CCustomColorPostProcessSpec *>((IRCObject *) obj), true)
172
173 class CCustomSpotPostProcessSpec;
175
260 {
261 public:
268 static JAWSMAKO_API CCustomSpotPostProcessSpecPtr create(const CShaderParamsVect &_params);
269
270 virtual ePostProcessType getType() const
271 {
272 return ePPTCustomSpot;
273 }
274
275 public:
277 };
278 #define obj2CCustomSpotPostProcessSpec(obj) CCustomSpotPostProcessSpecPtr(dynamic_cast<CCustomSpotPostProcessSpec *>((IRCObject *) obj), true)
279
280 class CCustomSpotMergePostProcessSpec;
282
384
386 {
387 public:
395 static JAWSMAKO_API CCustomSpotMergePostProcessSpecPtr create(const CSpotColorNames &_mergeSpotColors,
396 const CShaderParamsVect &_params);
397
398 virtual ePostProcessType getType() const
399 {
400 return ePPTCustomSpotMerge;
401 }
402
403 public:
404 // This is stored as a CColorantInfoVect for convenience, however only the names are used.
407 };
408 #define obj2CCustomSpotMergePostProcessSpec(obj) CCustomSpotMergePostProcessSpecPtr(dynamic_cast<CCustomSpotMergePostProcessSpec *>((IRCObject *) obj), true)
409
410}
411
412#endif
Support for GPU-accelerated rendering.
Definition edlsimplebuffer.h:24
Definition edlvector.h:30
CEDLVector< CColorantInfo > CColorantInfoVect
Definition idomcolorspace.h:833
Represents a custom post process step that operates on the color (i.e. non-spot components) using an ...
Definition apexcustompostprocess.h:142
IDOMColorSpacePtr targetSpace
Definition apexcustompostprocess.h:168
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:169
virtual ePostProcessType getType() const
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:161
IDOMColorSpacePtr sourceSpace
Definition apexcustompostprocess.h:167
Represents a custom post process step that merges spot components into an existing process result....
Definition apexcustompostprocess.h:386
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:398
CShaderParamsVect params
Definition apexcustompostprocess.h:406
IDOMColorSpaceDeviceN::CColorantInfoVect mergeSpotColors
Definition apexcustompostprocess.h:405
Represents a custom post process step that operates on the spot components of a render using an exter...
Definition apexcustompostprocess.h:260
virtual ePostProcessType getType() const
Get the type of post processing this spec represents.
Definition apexcustompostprocess.h:270
CShaderParamsVect params
Definition apexcustompostprocess.h:276
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:104
A class that describes a post process operation to be (logically) performed after an initial render t...
Definition renderspec.h:320
@ ePPTCustomSpot
Custom spot color manipulation on the GPU with a specially made shader.
Definition renderspec.h:335
@ ePPTCustomSpotMerge
Custom spot merging on the GPU with a specially made shader.
Definition renderspec.h:336
@ ePPTCustomColor
Custom color manipulation on the GPU with a specially made shader.
Definition renderspec.h:334
ePostProcessType
The possible types of post processing operations.
Definition renderspec.h:328
Definition apexcustompostprocess.h:17
CEDLVector< CShaderParams > CShaderParamsVect
Definition apexcustompostprocess.h:46
CEDLVector< U8String > CSpotColorNames
Definition types.h:169
Render specification classes and post-processes.
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29