IceT enabled render pass for distributed rendering. More...
#include <vtkIceTCompositePass.h>
Public Types | |
typedef vtkRenderPass | Superclass |
Public Types inherited from vtkRenderPass | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | Render (const vtkRenderState *s) override |
Perform rendering according to a render state s . More... | |
void | ReleaseGraphicsResources (vtkWindow *w) override |
Release graphics resources and ask components to release their own resources. More... | |
void | GetLastRenderedTile (vtkSynchronizedRenderers::vtkRawImage &tile) |
Returns the last rendered tile from this process, if any. More... | |
vtkFloatArray * | GetLastRenderedDepths () |
Provides access to the last rendered depth-buffer, if any. More... | |
vtkFloatArray * | GetLastRenderedRGBA32F () |
Provides access to the last rendered float image in vtkValuePass, if any. More... | |
void | PushIceTDepthBufferToScreen (const vtkRenderState *render_state) |
Obtains the composited depth-buffer from IceT and pushes it to the screen. More... | |
virtual vtkMultiProcessController * | GetController () |
Controller If it is nullptr, nothing will be rendered and a warning will be emitted. More... | |
virtual void | SetController (vtkMultiProcessController *controller) |
Controller If it is nullptr, nothing will be rendered and a warning will be emitted. More... | |
void | SetRenderPass (vtkRenderPass *) |
Get/Set the render pass used to do the actual rendering. More... | |
virtual vtkRenderPass * | GetRenderPass () |
Get/Set the render pass used to do the actual rendering. More... | |
virtual void | SetTileDimensions (int, int) |
Get/Set the tile dimensions. More... | |
void | SetTileDimensions (int [2]) |
Get/Set the tile dimensions. More... | |
virtual int * | GetTileDimensions () |
Get/Set the tile dimensions. More... | |
virtual void | GetTileDimensions (int &, int &) |
Get/Set the tile dimensions. More... | |
virtual void | GetTileDimensions (int [2]) |
Get/Set the tile dimensions. More... | |
virtual void | SetTileMullions (int, int) |
Get/Set the tile mullions. More... | |
void | SetTileMullions (int [2]) |
Get/Set the tile mullions. More... | |
virtual int * | GetTileMullions () |
Get/Set the tile mullions. More... | |
virtual void | GetTileMullions (int &, int &) |
Get/Set the tile mullions. More... | |
virtual void | GetTileMullions (int [2]) |
Get/Set the tile mullions. More... | |
virtual void | SetDataReplicatedOnAllProcesses (bool) |
Set to true if data is replicated on all processes. More... | |
virtual bool | GetDataReplicatedOnAllProcesses () |
Set to true if data is replicated on all processes. More... | |
virtual void | DataReplicatedOnAllProcessesOn () |
Set to true if data is replicated on all processes. More... | |
virtual void | DataReplicatedOnAllProcessesOff () |
Set to true if data is replicated on all processes. More... | |
virtual void | SetImageReductionFactor (int) |
Set the image reduction factor. More... | |
virtual int | GetImageReductionFactor () |
Set the image reduction factor. More... | |
virtual vtkOrderedCompositingHelper * | GetOrderedCompositingHelper () |
partition ordering that gives processes ordering. More... | |
virtual void | SetOrderedCompositingHelper (vtkOrderedCompositingHelper *helper) |
partition ordering that gives processes ordering. More... | |
virtual bool | GetRenderEmptyImages () |
Enable/disable rendering of empty images. More... | |
virtual void | SetRenderEmptyImages (bool) |
Enable/disable rendering of empty images. More... | |
virtual void | RenderEmptyImagesOn () |
Enable/disable rendering of empty images. More... | |
virtual void | RenderEmptyImagesOff () |
Enable/disable rendering of empty images. More... | |
virtual bool | GetUseOrderedCompositing () |
Set this to true, if compositing must be done in a specific order. More... | |
virtual void | SetUseOrderedCompositing (bool) |
Set this to true, if compositing must be done in a specific order. More... | |
virtual void | UseOrderedCompositingOn () |
Set this to true, if compositing must be done in a specific order. More... | |
virtual void | UseOrderedCompositingOff () |
Set this to true, if compositing must be done in a specific order. More... | |
virtual void | SetEnableFloatValuePass (bool) |
Adjusts this pass to handle vtkValuePass::FLOATING_POINT, in which floating- point values are rendered to vtkValuePass's internal FBO. More... | |
virtual void | SetDisplayRGBAResults (bool) |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result. More... | |
virtual bool | GetDisplayRGBAResults () |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result. More... | |
virtual void | SetDisplayDepthResults (bool) |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result. More... | |
virtual bool | GetDisplayDepthResults () |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result. More... | |
void | Draw (const vtkRenderState *render_state, const IceTDrawParams &) |
Public Member Functions inherited from vtkRenderPass | |
vtkRenderPass * | NewInstance () const |
virtual int | GetNumberOfRenderedProps () |
virtual int | GetNumberOfRenderedProps () |
Public Member Functions inherited from vtkObject | |
vtkBaseTypeMacro (vtkObject, vtkObjectBase) | |
virtual void | DebugOn () |
virtual void | DebugOff () |
bool | GetDebug () |
void | SetDebug (bool debugFlag) |
virtual void | Modified () |
virtual vtkMTimeType | GetMTime () |
void | RemoveObserver (unsigned long tag) |
void | RemoveObservers (unsigned long event) |
void | RemoveObservers (const char *event) |
void | RemoveAllObservers () |
int | HasObserver (unsigned long event) |
int | HasObserver (const char *event) |
int | InvokeEvent (unsigned long event) |
int | InvokeEvent (const char *event) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
vtkCommand * | GetCommand (unsigned long tag) |
void | RemoveObserver (vtkCommand *) |
void | RemoveObservers (unsigned long event, vtkCommand *) |
void | RemoveObservers (const char *event, vtkCommand *) |
int | HasObserver (unsigned long event, vtkCommand *) |
int | HasObserver (const char *event, vtkCommand *) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
int | InvokeEvent (unsigned long event, void *callData) |
int | InvokeEvent (const char *event, void *callData) |
Public Member Functions inherited from vtkObjectBase | |
const char * | GetClassName () const |
virtual void | Delete () |
virtual void | FastDelete () |
void | Print (ostream &os) |
virtual void | Register (vtkObjectBase *o) |
virtual void | UnRegister (vtkObjectBase *o) |
void | SetReferenceCount (int) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
int | GetReferenceCount () |
void | PrintRevisions (ostream &) |
Static Public Member Functions | |
static vtkIceTCompositePass * | New () |
static int | IsTypeOf (const char *type) |
static vtkIceTCompositePass * | SafeDownCast (vtkObject *o) |
Static Public Member Functions inherited from vtkRenderPass | |
static int | IsTypeOf (const char *type) |
static vtkRenderPass * | SafeDownCast (vtkObjectBase *o) |
Static Public Member Functions inherited from vtkObject | |
static vtkObject * | New () |
static void | BreakOnError () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
static void | SetGlobalWarningDisplay (int val) |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
static int | GetGlobalWarningDisplay () |
Static Public Member Functions inherited from vtkObjectBase | |
static vtkTypeBool | IsTypeOf (const char *name) |
static vtkObjectBase * | New () |
static vtkObjectBase * | New () |
Protected Member Functions | |
vtkIceTCompositePass () | |
~vtkIceTCompositePass () override | |
void | ReadyProgram (vtkOpenGLRenderWindow *context) |
Create program (if needed) and prepare it for texture mapping. More... | |
void | UpdateTileInformation (const vtkRenderState *) |
Updates the IceT tile information during each render. More... | |
void | DisplayResultsIfNeeded (const vtkRenderState *) |
Called after Icet results have been generated. More... | |
void | UpdateMatrices (const vtkRenderState *, double aspect) |
Update projection and model view matrices using current camera and provided aspect ratio. More... | |
virtual void | SetupContext (const vtkRenderState *) |
Spits the different components for the rendering process. More... | |
virtual void | CleanupContext (const vtkRenderState *) |
Spits the different components for the rendering process. More... | |
Protected Member Functions inherited from vtkRenderPass | |
virtual vtkObjectBase * | NewInstanceInternal () const |
vtkRenderPass () | |
virtual | ~vtkRenderPass () |
void | UpdateCamera (vtkRenderer *renderer) |
void | ClearLights (vtkRenderer *renderer) |
void | UpdateLightGeometry (vtkRenderer *renderer) |
void | UpdateLights (vtkRenderer *renderer) |
void | UpdateGeometry (vtkRenderer *renderer) |
void | SetLastRenderingUsedDepthPeeling (vtkRenderer *renderer, bool value) |
void | SetLastRenderingUsedDepthPeeling (vtkRenderer *renderer, bool value) |
Protected Member Functions inherited from vtkObject | |
vtkObject () | |
virtual | ~vtkObject () |
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
void | InternalReleaseFocus () |
Protected Member Functions inherited from vtkObjectBase | |
vtkObjectBase () | |
virtual | ~vtkObjectBase () |
virtual void | CollectRevisions (ostream &) |
virtual void | ReportReferences (vtkGarbageCollector *) |
vtkObjectBase (const vtkObjectBase &) | |
void | operator= (const vtkObjectBase &) |
Protected Attributes | |
vtkMultiProcessController * | Controller |
vtkOrderedCompositingHelper * | OrderedCompositingHelper |
vtkRenderPass * | RenderPass |
vtkIceTContext * | IceTContext |
bool | RenderEmptyImages |
bool | UseOrderedCompositing |
bool | DataReplicatedOnAllProcesses |
bool | EnableFloatValuePass |
int | TileDimensions [2] |
int | TileMullions [2] |
int | ImageReductionFactor |
bool | DisplayRGBAResults |
bool | DisplayDepthResults |
vtkNew< vtkFloatArray > | LastRenderedDepths |
vtkNew< vtkFloatArray > | LastRenderedRGBA32F |
vtkPixelBufferObject * | PBO |
vtkTextureObject * | ZTexture |
vtkOpenGLHelper * | Program |
std::unique_ptr< vtkSynchronizedRenderers::vtkRawImage > | LastRenderedRGBAColors |
Protected Attributes inherited from vtkRenderPass | |
int | NumberOfRenderedProps |
Protected Attributes inherited from vtkObject | |
bool | Debug |
vtkTimeStamp | MTime |
vtkSubjectHelper * | SubjectHelper |
Protected Attributes inherited from vtkObjectBase | |
vtkAtomicInt32 | ReferenceCount |
vtkWeakPointerBase ** | WeakPointers |
IceT enabled render pass for distributed rendering.
vtkIceTCompositePass is a vtkRenderPass subclass that can be used for compositing images (RGBA_UBYTE, depth or RGBA_32F) across processes using IceT. This can be used in lieu of vtkCompositeRGBAPass. The usage of this pass differs slightly from vtkCompositeRGBAPass. vtkCompositeRGBAPass composites the active frame buffer, while this class requires that the render pass to render info the frame buffer that needs to be composited should be set as an ivar using SetRenderPass().
This class also provides support for tile-displays. Simply set the TileDimensions > [1, 1] and instead of rendering a composited image on the root node, it will split the view among all tiles and generate renderings on all processes.
Warning: Compositing RGBA_32F is only supported for a specific pass (vtkValuePass). For a more generic integration, vtkRenderPass should expose an internal FBO API.
Definition at line 46 of file vtkIceTCompositePass.h.
Definition at line 50 of file vtkIceTCompositePass.h.
|
protected |
|
overrideprotected |
|
static |
|
virtual |
Reimplemented from vtkRenderPass.
|
static |
|
overridevirtual |
Reimplemented from vtkRenderPass.
|
overridevirtual |
Perform rendering according to a render state s
.
Implements vtkRenderPass.
|
overridevirtual |
Release graphics resources and ask components to release their own resources.
Reimplemented from vtkRenderPass.
|
virtual |
Controller If it is nullptr, nothing will be rendered and a warning will be emitted.
Initial value is a nullptr pointer.
|
virtual |
Controller If it is nullptr, nothing will be rendered and a warning will be emitted.
Initial value is a nullptr pointer.
void vtkIceTCompositePass::SetRenderPass | ( | vtkRenderPass * | ) |
Get/Set the render pass used to do the actual rendering.
The result of this delete pass is what gets composited using IceT. Initial value is a nullptr pointer.
|
virtual |
Get/Set the render pass used to do the actual rendering.
The result of this delete pass is what gets composited using IceT. Initial value is a nullptr pointer.
Get/Set the tile dimensions.
Default is (1, 1). If any of the dimensions is
1 than tile display mode is assumed.
void vtkIceTCompositePass::SetTileDimensions | ( | int | [2] | ) |
Get/Set the tile dimensions.
Default is (1, 1). If any of the dimensions is
1 than tile display mode is assumed.
|
virtual |
Get/Set the tile dimensions.
Default is (1, 1). If any of the dimensions is
1 than tile display mode is assumed.
Get/Set the tile dimensions.
Default is (1, 1). If any of the dimensions is
1 than tile display mode is assumed.
|
virtual |
Get/Set the tile dimensions.
Default is (1, 1). If any of the dimensions is
1 than tile display mode is assumed.
Get/Set the tile mullions.
The mullions are measured in pixels. Use negative numbers for overlap. Initial value is {0,0}.
void vtkIceTCompositePass::SetTileMullions | ( | int | [2] | ) |
Get/Set the tile mullions.
The mullions are measured in pixels. Use negative numbers for overlap. Initial value is {0,0}.
|
virtual |
Get/Set the tile mullions.
The mullions are measured in pixels. Use negative numbers for overlap. Initial value is {0,0}.
Get/Set the tile mullions.
The mullions are measured in pixels. Use negative numbers for overlap. Initial value is {0,0}.
|
virtual |
Get/Set the tile mullions.
The mullions are measured in pixels. Use negative numbers for overlap. Initial value is {0,0}.
|
virtual |
Set to true if data is replicated on all processes.
This will enable IceT to minimize communications since data is available on all process. Off by default. Initial value is false.
|
virtual |
Set to true if data is replicated on all processes.
This will enable IceT to minimize communications since data is available on all process. Off by default. Initial value is false.
|
virtual |
Set to true if data is replicated on all processes.
This will enable IceT to minimize communications since data is available on all process. Off by default. Initial value is false.
|
virtual |
Set to true if data is replicated on all processes.
This will enable IceT to minimize communications since data is available on all process. Off by default. Initial value is false.
|
virtual |
Set the image reduction factor.
This can be used to speed up compositing. When using vtkIceTCompositePass use this image reduction factor rather than that on vtkSynchronizedRenderers since using vtkSynchronizedRenderers::ImageReductionFactor will not work correctly with IceT. Initial value is 1.
|
virtual |
Set the image reduction factor.
This can be used to speed up compositing. When using vtkIceTCompositePass use this image reduction factor rather than that on vtkSynchronizedRenderers since using vtkSynchronizedRenderers::ImageReductionFactor will not work correctly with IceT. Initial value is 1.
|
virtual |
partition ordering that gives processes ordering.
Initial value is a nullptr pointer. This is used only when UseOrderedCompositing is true.
|
virtual |
partition ordering that gives processes ordering.
Initial value is a nullptr pointer. This is used only when UseOrderedCompositing is true.
|
virtual |
Enable/disable rendering of empty images.
Painters that use MPI global collective communication need to enable this. Initial value is false.
|
virtual |
Enable/disable rendering of empty images.
Painters that use MPI global collective communication need to enable this. Initial value is false.
|
virtual |
Enable/disable rendering of empty images.
Painters that use MPI global collective communication need to enable this. Initial value is false.
|
virtual |
Enable/disable rendering of empty images.
Painters that use MPI global collective communication need to enable this. Initial value is false.
|
virtual |
Set this to true, if compositing must be done in a specific order.
This is necessary when rendering volumes or translucent geometries. When UseOrderedCompositing is set to true, it is expected that the OrderedCompositingHelper is set as well. OrderedCompositingHelper is used to decide the process-order for compositing. Initial value is false.
|
virtual |
Set this to true, if compositing must be done in a specific order.
This is necessary when rendering volumes or translucent geometries. When UseOrderedCompositing is set to true, it is expected that the OrderedCompositingHelper is set as well. OrderedCompositingHelper is used to decide the process-order for compositing. Initial value is false.
|
virtual |
Set this to true, if compositing must be done in a specific order.
This is necessary when rendering volumes or translucent geometries. When UseOrderedCompositing is set to true, it is expected that the OrderedCompositingHelper is set as well. OrderedCompositingHelper is used to decide the process-order for compositing. Initial value is false.
|
virtual |
Set this to true, if compositing must be done in a specific order.
This is necessary when rendering volumes or translucent geometries. When UseOrderedCompositing is set to true, it is expected that the OrderedCompositingHelper is set as well. OrderedCompositingHelper is used to decide the process-order for compositing. Initial value is false.
void vtkIceTCompositePass::GetLastRenderedTile | ( | vtkSynchronizedRenderers::vtkRawImage & | tile | ) |
Returns the last rendered tile from this process, if any.
Image is invalid if tile is not available on the current process.
vtkFloatArray* vtkIceTCompositePass::GetLastRenderedDepths | ( | ) |
Provides access to the last rendered depth-buffer, if any.
May return nullptr if depth buffer was not composited and available on the current rank.
|
virtual |
Adjusts this pass to handle vtkValuePass::FLOATING_POINT, in which floating- point values are rendered to vtkValuePass's internal FBO.
vtkFloatArray* vtkIceTCompositePass::GetLastRenderedRGBA32F | ( | ) |
Provides access to the last rendered float image in vtkValuePass, if any.
May return nullptr if a float image was not composited and is not available on the current rank.
void vtkIceTCompositePass::PushIceTDepthBufferToScreen | ( | const vtkRenderState * | render_state | ) |
Obtains the composited depth-buffer from IceT and pushes it to the screen.
This is only done when DepthOnly is true.
|
virtual |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result.
Generally speaking, for a vtkRenderPass, this must always be true
. However, for ParaView use cases many times we display the compositing result on the server-side. In which case, we can save on the extra work to push results to screen. Hence, vtkIceTCompositePass sets this to false by default.
|
virtual |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result.
Generally speaking, for a vtkRenderPass, this must always be true
. However, for ParaView use cases many times we display the compositing result on the server-side. In which case, we can save on the extra work to push results to screen. Hence, vtkIceTCompositePass sets this to false by default.
|
virtual |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result.
Generally speaking, for a vtkRenderPass, this must always be true
. However, for ParaView use cases many times we display the compositing result on the server-side. In which case, we can save on the extra work to push results to screen. Hence, vtkIceTCompositePass sets this to false by default.
|
virtual |
When set to true, vtkIceTCompositePass will push back compositing results to the display on ranks where the IceT generated a composited result.
Generally speaking, for a vtkRenderPass, this must always be true
. However, for ParaView use cases many times we display the compositing result on the server-side. In which case, we can save on the extra work to push results to screen. Hence, vtkIceTCompositePass sets this to false by default.
void vtkIceTCompositePass::Draw | ( | const vtkRenderState * | render_state, |
const IceTDrawParams & | |||
) |
|
protectedvirtual |
Spits the different components for the rendering process.
|
protectedvirtual |
Spits the different components for the rendering process.
|
protected |
Create program (if needed) and prepare it for texture mapping.
|
protected |
Updates the IceT tile information during each render.
|
protected |
Called after Icet results have been generated.
vtkIceTCompositePass will paste back the IceT results image to the viewport if so requested by DisplayDepthResults and DisplayRGBAResults flags.
|
protected |
Update projection and model view matrices using current camera and provided aspect ratio.
|
protected |
Definition at line 257 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 258 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 259 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 260 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 262 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 263 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 264 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 265 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 266 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 267 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 269 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 271 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 272 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 274 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 276 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 278 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 279 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 280 of file vtkIceTCompositePass.h.
|
protected |
Definition at line 282 of file vtkIceTCompositePass.h.