VTK: Rendering/Parallel/vtkCompositeRGBAPass.h Source File

| VTK 9.3.1

vtkCompositeRGBAPass.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
22 #ifndef vtkCompositeRGBAPass_h
23 #define vtkCompositeRGBAPass_h
24
25 #include "vtkRenderPass.h"
26 #include "vtkRenderingParallelModule.h" // For export macro
27
28 VTK_ABI_NAMESPACE_BEGIN
29 class vtkMultiProcessController;
30
31 class vtkPixelBufferObject;
32 class vtkTextureObject;
33 class vtkOpenGLRenderWindow;
34 class vtkPKdTree;
35
36 class VTKRENDERINGPARALLEL_EXPORT vtkCompositeRGBAPass : public vtkRenderPass
37 {
38 public:
39 static vtkCompositeRGBAPass* New();
40 vtkTypeMacro(vtkCompositeRGBAPass, vtkRenderPass);
41 void PrintSelf(ostream& os, vtkIndent indent) override;
42
47 void Render(const vtkRenderState* s) override;
48
54 void ReleaseGraphicsResources(vtkWindow* w) override;
55
57
62 vtkGetObjectMacro(Controller, vtkMultiProcessController);
63 virtual void SetController(vtkMultiProcessController* controller);
65
67
70 vtkGetObjectMacro(Kdtree, vtkPKdTree);
71 virtual void SetKdtree(vtkPKdTree* kdtree);
73
77 bool IsSupported(vtkOpenGLRenderWindow* context);
78
79 protected:
83 vtkCompositeRGBAPass();
84
88 ~vtkCompositeRGBAPass() override;
89
90 vtkMultiProcessController* Controller;
91 vtkPKdTree* Kdtree;
92
93 vtkPixelBufferObject* PBO;
94 vtkTextureObject* RGBATexture;
95 vtkTextureObject* RootTexture;
96 float* RawRGBABuffer;
97 size_t RawRGBABufferSize;
98
99 private:
100 vtkCompositeRGBAPass(const vtkCompositeRGBAPass&) = delete;
101 void operator=(const vtkCompositeRGBAPass&) = delete;
102 };
103
104 VTK_ABI_NAMESPACE_END
105 #endif
vtkCompositeRGBAPass
Blend RGBA buffers of processes.
Definition: vtkCompositeRGBAPass.h:37
vtkCompositeRGBAPass::Kdtree
vtkPKdTree * Kdtree
Definition: vtkCompositeRGBAPass.h:91
vtkCompositeRGBAPass::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *w) override
Release graphics resources and ask components to release their own resources.
vtkCompositeRGBAPass::IsSupported
bool IsSupported(vtkOpenGLRenderWindow *context)
Is the pass supported by the OpenGL context?
vtkCompositeRGBAPass::Render
void Render(const vtkRenderState *s) override
Perform rendering according to a render state s.
vtkCompositeRGBAPass::RawRGBABufferSize
size_t RawRGBABufferSize
Definition: vtkCompositeRGBAPass.h:97
vtkCompositeRGBAPass::Controller
vtkMultiProcessController * Controller
Definition: vtkCompositeRGBAPass.h:90
vtkCompositeRGBAPass::SetController
virtual void SetController(vtkMultiProcessController *controller)
Controller If it is NULL, nothing will be rendered and a warning will be emitted.
vtkCompositeRGBAPass::PBO
vtkPixelBufferObject * PBO
Definition: vtkCompositeRGBAPass.h:93
vtkCompositeRGBAPass::~vtkCompositeRGBAPass
~vtkCompositeRGBAPass() override
Destructor.
vtkCompositeRGBAPass::RootTexture
vtkTextureObject * RootTexture
Definition: vtkCompositeRGBAPass.h:95
vtkCompositeRGBAPass::RGBATexture
vtkTextureObject * RGBATexture
Definition: vtkCompositeRGBAPass.h:94
vtkCompositeRGBAPass::SetKdtree
virtual void SetKdtree(vtkPKdTree *kdtree)
kd tree that gives processes ordering.
vtkCompositeRGBAPass::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCompositeRGBAPass::vtkCompositeRGBAPass
vtkCompositeRGBAPass()
Default constructor.
vtkCompositeRGBAPass::RawRGBABuffer
float * RawRGBABuffer
Definition: vtkCompositeRGBAPass.h:96
vtkCompositeRGBAPass::New
static vtkCompositeRGBAPass * New()
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:72
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:53
vtkPKdTree
Build a k-d tree decomposition of a list of points.
Definition: vtkPKdTree.h:44
vtkPixelBufferObject
abstracts an OpenGL pixel buffer object.
Definition: vtkPixelBufferObject.h:33
vtkRenderPass
Perform part of the rendering of a vtkRenderer.
Definition: vtkRenderPass.h:49
vtkRenderState
Context in which a vtkRenderPass will render.
Definition: vtkRenderState.h:30
vtkTextureObject
abstracts an OpenGL texture object.
Definition: vtkTextureObject.h:33
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkRenderPass.h