The External Render SDK API allows a plug-in to create and perform headless, interactive Preview renders using external renderers. External Render attribute query



class ILxExternalRender

The External Render object is where all the interesting things happen.

Public Functions

LxResult Start(LXtObjectID self)

The first method will start an External Render rendering. The External Render could either be stopped or paused. If it’s neither, this will have no effect.

LxResult Stop(LXtObjectID self)

And this method will stop it.

LxResult Pause(LXtObjectID self)

Alternatively, we can pause the External Render. This stops rendering, but a future start will not clear the image and will resume where it left off, unless the scene has been updated.

LxResult Reset(LXtObjectID self)

This function will both set External Render such that the next time it starts, it will do a full update, completely rebuilding all the render data and tableau from scratch.

LxResult SelectedPixelAt(LXtObjectID self, const int x, const int y)

This function passes the image coordinates of the pixel of the rendered image [(0,0) is top-left] on which the mouse has been clicked. This allows the external renderer to perform operations such as hit detection.

LxResult SetNotifier(LXtObjectID self, LXtObjectID notifier)

This function takes a ILxExternalRenderNotifier object, which will get notified when a new image is available.

LxResult SetBufferQueue(LXtObjectID self, LXtObjectID bufferQueue)


struct st_LXtExternalRenderBuffer

Public Members

void *ptr
unsigned w
unsigned h
unsigned fmt
unsigned reserved


class ILxExternalRenderBufferQueue

The ExternalRender will use ExternalRenderBufferQueue to communicate with external render clients

Public Functions

LxResult WriteBegin(LXtObjectID self, LXtExternalRenderBuffer *buffer)
LxResult WriteEnd(LXtObjectID self, LXtExternalRenderBuffer *buffer)


class ILxExternalRenderNotifier

This is the ExternalRenderNotifier interface class that users can implement to get notified when a preview image is available.

Public Functions

LxResult Notify(LXtObjectID self, const LXtRenderOutputProcess *rndrProcess, LXtObjectID image, int completed)
LxResult SetStatusText(LXtObjectID self, const char *text)