ViewportWidget::SetDirectRenderCallback
Defined in:
Sets the direct rendering callback function for a viewport widget.
C4Viewports.hPrototype
void SetDirectRenderCallback(DirectRenderCallback *callback, void *cookie = nullptr);
Parameters
callback |
A pointer to the direct rendering callback function. |
cookie |
A user-defined pointer that is passed to the direct rendering callback function. |
Description
The SetDirectRenderCallback function installs a rendering callback function that is called once per frame to draw the contents of a viewport widget that are rendered directly to the frame buffer. If a texture rendering callback function is also installed (with the ViewportWidget::SetTextureRenderCallback function), then the direct rendering callback function is called after the contents of the texture map have been rendered, if necessary, and drawn to the frame buffer. Thus, the contents drawn with the direct rendering callback function appear on top of the viewport's texture image.The
callback parameter should point to a function having the following prototype.
typedef void DirectRenderCallback(List<Renderable> *, ViewportWidget *, void *);
cookie parameter.When the direct rendering callback function is called, the viewport's camera has already been established as the current rendering camera. The direct rendering callback function may cause calls to the
GraphicsMgr::Draw function to occur, and it may add renderable objects to the render list passed to it. If the render list contains any objects upon return from the direct rendering callback function, then they are immediately rendered with the DrawRenderList function and removed from the list.The direct rendering callback function would normally call the
GraphicsMgr::ClearColorBuffer function first to clear the area covered by the viewport widget.If the
callback parameter is nullptr, then any currently installed direct rendering callback function is removed.
See Also
ViewportWidget::SetTextureRenderCallback
ViewportWidget::SetMouseEventCallback
