5#ifndef JAWSMAKO_APEX_RENDERER_H
6#define JAWSMAKO_APEX_RENDERER_H
44 int32 deviceIndex = -1);
67 return ! (*
this == other);
95 virtual void render(
const IDOMNodePtr &node,
156 bool filtered =
false) = 0;
Definition edlvector.h:30
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
A base class that describes base rendering properties common to all rendering operations....
Definition renderspec.h:82
A class representing a GPU device discovered on the current host.
Definition apexrenderer.h:50
bool operator==(const CGpuDeviceInfo &other) const
Definition apexrenderer.h:57
U8String deviceName
The name of the device.
Definition apexrenderer.h:52
bool discreteDevice
True if the device is a discrete GPU, false otherwise.
Definition apexrenderer.h:54
uint32 vendorId
The PCI vendor ID of the device manufacturer.
Definition apexrenderer.h:53
uint64 deviceLocalMemorySize
The size of device local memory.
Definition apexrenderer.h:55
bool operator!=(const CGpuDeviceInfo &other) const
Definition apexrenderer.h:65
Definition apexrenderer.h:107
virtual ~IFragmentShader()
Definition apexrenderer.h:109
Definition apexrenderer.h:99
virtual ~ITexture()
Definition apexrenderer.h:101
A renderer that uses the GPU-accelerated Apex RIP to create images from arbitrary DOM.
Definition apexrenderer.h:31
CEDLVector< ITexturePtr > CTextureVect
Definition apexrenderer.h:104
static JAWSMAKO_API IApexRendererPtr create(const IJawsMakoPtr &jawsMako, int32 deviceIndex=-1)
Create an Apex renderer instance.
DECL_SMART_PTR(IFragmentShader)
static JAWSMAKO_API CGpuDeviceInfoVect enumerateGpus()
Enumerate all the available GPU devices.
virtual ITexturePtr uploadImage(void *data, uint32 size, uint8 numComponents, uint32 width, uint32 height, uint32 depth, bool filtered=false)=0
Upload an image to the GPU preparing for its use as a texture by a custom post processing step (see a...
virtual void render(const IDOMNodePtr &node, CRenderSpec *renderSpec)=0
Render a node, targeting the given render specification. Any gray, RGB (except sRGB),...
virtual IFragmentShaderPtr createFragmentShader(void *data, uint32 size)=0
Create a fragment shader ready to run on the GPU. These fragment shaders must be presented in SPIR-V ...
CEDLVector< CGpuDeviceInfo > CGpuDeviceInfoVect
Definition apexrenderer.h:71
unsigned int uint32
Definition edltypes.h:34
unsigned long long uint64
Definition edltypes.h:35
signed int int32
Definition edltypes.h:29
unsigned char uint8
Definition edltypes.h:32
EDLSysString U8String
A UTF-8 String.
Definition types.h:144
Definition apexcustompostprocess.h:17
Render specification classes and post-processes.
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29