18 #ifndef vtkOpenGLBatchedPolyDataMapper_h
19 #define vtkOpenGLBatchedPolyDataMapper_h
26 #include "vtkRenderingOpenGL2Module.h"
33 VTK_ABI_NAMESPACE_BEGIN
50 void AddBatchElement(
unsigned int flatIndex,
BatchElement&& batchElement);
52 void ClearBatchElements();
58 std::vector<vtkPolyData*> GetRenderedList()
const;
66 void UnmarkBatchElements();
67 void ClearUnmarkedBatchElements();
77 GLBatchElement* glBatchElement, std::vector<unsigned int>& mypixels);
95 GLenum
mode,
int pointSize);
100 virtual void SetShaderValues(
114 std::map<vtkShader::Type, vtkShader*> shaders,
vtkRenderer* renderer,
vtkActor* actor)
override;
127 std::vector<float>& norms);
180 VTK_ABI_NAMESPACE_END
abstract superclass for all actors, volumes and annotations
virtual void RenderPieceDraw(vtkRenderer *ren, vtkActor *act)
Implemented by sub classes.
PolyDataMapper using OpenGL to render.
represents an object (geometry & properties) in a rendered scene
static vtkOpenGLPolyDataMapper * New()
vtkTypeUInt32 vtkMTimeType
virtual std::vector< texinfo > GetTextures(vtkActor *actor)
Recover current texture informations on the provided actor into a vector.
virtual void BuildSelectionIBO(vtkPolyData *poly, std::vector< unsigned int >(&indices)[4], vtkIdType offset)
Build the selection IBO, called by UpdateBufferObjects.
An OpenGL mapper for batched rendering of vtkPolyData.
abstract specification for renderers
virtual void UpdateShaders(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act)
Make sure appropriate shaders are defined, compiled and bound.
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkCompositePolyDataMapperDelegator::BatchElement BatchElement
virtual int CanUseTextureMapForColoring(vtkDataObject *input)
Returns if we can use texture maps for scalar coloring.
virtual bool GetNeedToRebuildBufferObjects(vtkRenderer *ren, vtkActor *act)
Does the VBO/IBO need to be rebuilt.
a simple class to control print indentation
void ProcessSelectorPixelBuffers(vtkHardwareSelector *sel, std::vector< unsigned int > &pixeloffsets, vtkProp *prop) override
allows a mapper to update a selections color buffers Called from a prop which in turn is called from ...
void RenderPiece(vtkRenderer *ren, vtkActor *act) override
Implemented by sub classes.
vtkMTimeType GetMTime() override
Overload standard modified time function.
std::map< unsigned int, std::uintptr_t > FlatIndexToPolyData
vtkHardwareSelector * CurrentSelector
virtual void ReplaceShaderColor(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act)
Perform string replacements on the shader templates, called from ReplaceShaderValues.
virtual void RenderPieceStart(vtkRenderer *ren, vtkActor *act)
Implemented by sub classes.
virtual void UpdateCameraShiftScale(vtkRenderer *ren, vtkActor *actor)
virtual void BuildBufferObjects(vtkRenderer *ren, vtkActor *act)
Build the VBO/IBO, called by UpdateBufferObjects.
std::map< std::uintptr_t, std::unique_ptr< GLBatchElement > > VTKPolyDataToGLBatchElement
std::map< vtkAbstractArray *, vtkDataArray * > ColorArrayMap
general representation of visualization data
std::vector< std::vector< unsigned int > > PickPixels
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a class that renders hierarchical polygonal data
The ShaderProgram uses one or more Shader objects.