An OpenGL mapper for batched rendering of vtkPolyData.
More...
#include <vtkOpenGLBatchedPolyDataMapper.h>
|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
| vtkOpenGLBatchedPolyDataMapper () |
|
| ~vtkOpenGLBatchedPolyDataMapper () override |
|
void | RenderPieceDraw (vtkRenderer *renderer, vtkActor *actor) override |
|
void | UpdateCameraShiftScale (vtkRenderer *renderer, vtkActor *actoror) override |
|
void | DrawIBO (vtkRenderer *renderer, vtkActor *actoror, int primType, vtkOpenGLHelper &CellBO, GLenum mode, int pointSize) |
| Draws primitives.
|
|
virtual void | SetShaderValues (vtkShaderProgram *prog, GLBatchElement *glBatchElement, size_t primOffset) |
| Applies rendering attributes for the corresponding polydata in the glBatchElement.
|
|
void | UpdateShaders (vtkOpenGLHelper &cellBO, vtkRenderer *renderer, vtkActor *actor) override |
| Make sure appropriate shaders are defined, compiled and bound.
|
|
void | ReplaceShaderColor (std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *renderer, vtkActor *actor) override |
| Perform string replacements on the shader templates, called from ReplaceShaderValues.
|
|
bool | GetNeedToRebuildBufferObjects (vtkRenderer *renderer, vtkActor *actor) override |
| Does the VBO/IBO need to be rebuilt.
|
|
void | BuildBufferObjects (vtkRenderer *renderer, vtkActor *actor) override |
| Build the VBO/IBO, called by UpdateBufferObjects.
|
|
virtual void | AppendOneBufferObject (vtkRenderer *renderer, vtkActor *actor, GLBatchElement *glBatchElement, vtkIdType &vertexOffset, std::vector< unsigned char > &colors, std::vector< float > &norms) |
|
void | BuildSelectionIBO (vtkPolyData *poly, std::vector< unsigned int >(&indices)[4], vtkIdType offset) override |
| Build the selection IBOs, called by UpdateBufferObjects.
|
|
int | CanUseTextureMapForColoring (vtkDataObject *) override |
| Returns if we can use texture maps for scalar coloring.
|
|
An OpenGL mapper for batched rendering of vtkPolyData.
The parent class is determined at compile time. On OpenGL ES, the parent class is vtkOpenGLES30PolyDataMapper. Everywhere else, the parent class is vtkOpenGLPolyDataMapper.
- See also
- vtkOpenGLPolyDataMapper vtkOpenGLES30PolyDataMapper vtkOpenGLCompositePolyDataMapperDelegator
Definition at line 43 of file vtkOpenGLBatchedPolyDataMapper.h.
◆ Superclass
◆ BatchElement
◆ GLBatchElement
◆ vtkOpenGLBatchedPolyDataMapper()
vtkOpenGLBatchedPolyDataMapper::vtkOpenGLBatchedPolyDataMapper |
( |
| ) |
|
|
protected |
◆ ~vtkOpenGLBatchedPolyDataMapper()
vtkOpenGLBatchedPolyDataMapper::~vtkOpenGLBatchedPolyDataMapper |
( |
| ) |
|
|
overrideprotected |
◆ New()
◆ IsTypeOf()
static vtkTypeBool vtkOpenGLBatchedPolyDataMapper::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
◆ IsA()
virtual vtkTypeBool vtkOpenGLBatchedPolyDataMapper::IsA |
( |
const char * |
type | ) |
|
|
virtual |
◆ SafeDownCast()
◆ NewInstanceInternal()
virtual vtkObjectBase * vtkOpenGLBatchedPolyDataMapper::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
◆ NewInstance()
◆ PrintSelf()
void vtkOpenGLBatchedPolyDataMapper::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
|
override |
◆ AddBatchElement()
void vtkOpenGLBatchedPolyDataMapper::AddBatchElement |
( |
unsigned int |
flatIndex, |
|
|
BatchElement && |
batchElement |
|
) |
| |
API to add and query a GLBatchElement instance per vtkPolyData.
◆ GetBatchElement()
API to add and query a GLBatchElement instance per vtkPolyData.
◆ ClearBatchElements()
void vtkOpenGLBatchedPolyDataMapper::ClearBatchElements |
( |
| ) |
|
API to add and query a GLBatchElement instance per vtkPolyData.
◆ GetRenderedList()
std::vector< vtkPolyData * > vtkOpenGLBatchedPolyDataMapper::GetRenderedList |
( |
| ) |
const |
Accessor to the ordered list of PolyData that we last drew.
◆ SetParent()
◆ RenderPiece()
Implemented by sub classes.
Actual rendering is done here.
◆ UnmarkBatchElements()
void vtkOpenGLBatchedPolyDataMapper::UnmarkBatchElements |
( |
| ) |
|
◆ ClearUnmarkedBatchElements()
void vtkOpenGLBatchedPolyDataMapper::ClearUnmarkedBatchElements |
( |
| ) |
|
◆ ProcessSelectorPixelBuffers()
void vtkOpenGLBatchedPolyDataMapper::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 the selector
◆ ProcessCompositePixelBuffers()
◆ RenderPieceDraw()
void vtkOpenGLBatchedPolyDataMapper::RenderPieceDraw |
( |
vtkRenderer * |
renderer, |
|
|
vtkActor * |
actor |
|
) |
| |
|
overrideprotected |
◆ UpdateCameraShiftScale()
void vtkOpenGLBatchedPolyDataMapper::UpdateCameraShiftScale |
( |
vtkRenderer * |
renderer, |
|
|
vtkActor * |
actoror |
|
) |
| |
|
overrideprotected |
◆ DrawIBO()
◆ SetShaderValues()
Applies rendering attributes for the corresponding polydata in the glBatchElement.
◆ UpdateShaders()
Make sure appropriate shaders are defined, compiled and bound.
This method orchistrates the process, much of the work is done in other methods
◆ ReplaceShaderColor()
Perform string replacements on the shader templates, called from ReplaceShaderValues.
◆ GetNeedToRebuildBufferObjects()
bool vtkOpenGLBatchedPolyDataMapper::GetNeedToRebuildBufferObjects |
( |
vtkRenderer * |
renderer, |
|
|
vtkActor * |
actor |
|
) |
| |
|
overrideprotected |
Does the VBO/IBO need to be rebuilt.
◆ BuildBufferObjects()
void vtkOpenGLBatchedPolyDataMapper::BuildBufferObjects |
( |
vtkRenderer * |
renderer, |
|
|
vtkActor * |
actor |
|
) |
| |
|
overrideprotected |
Build the VBO/IBO, called by UpdateBufferObjects.
◆ AppendOneBufferObject()
virtual void vtkOpenGLBatchedPolyDataMapper::AppendOneBufferObject |
( |
vtkRenderer * |
renderer, |
|
|
vtkActor * |
actor, |
|
|
GLBatchElement * |
glBatchElement, |
|
|
vtkIdType & |
vertexOffset, |
|
|
std::vector< unsigned char > & |
colors, |
|
|
std::vector< float > & |
norms |
|
) |
| |
|
protectedvirtual |
◆ BuildSelectionIBO()
void vtkOpenGLBatchedPolyDataMapper::BuildSelectionIBO |
( |
vtkPolyData * |
poly, |
|
|
std::vector< unsigned int >(&) |
indices[4], |
|
|
vtkIdType |
offset |
|
) |
| |
|
overrideprotected |
Build the selection IBOs, called by UpdateBufferObjects.
◆ CanUseTextureMapForColoring()
int vtkOpenGLBatchedPolyDataMapper::CanUseTextureMapForColoring |
( |
vtkDataObject * |
| ) |
|
|
overrideprotected |
Returns if we can use texture maps for scalar coloring.
Note this doesn't say we "will" use scalar coloring. It says, if we do use scalar coloring, we will use a texture. Always off for this mapper.
◆ Parent
◆ VTKPolyDataToGLBatchElement
std::map<std::uintptr_t, std::unique_ptr<GLBatchElement> > vtkOpenGLBatchedPolyDataMapper::VTKPolyDataToGLBatchElement |
|
protected |
◆ IndexArray
std::vector<unsigned int> vtkOpenGLBatchedPolyDataMapper::IndexArray[PrimitiveEnd] |
|
protected |
◆ PrimIDUsed
bool vtkOpenGLBatchedPolyDataMapper::PrimIDUsed |
|
protected |
◆ OverideColorUsed
bool vtkOpenGLBatchedPolyDataMapper::OverideColorUsed |
|
protected |
◆ CurrentSelector
◆ PickPixels
std::vector<std::vector<unsigned int> > vtkOpenGLBatchedPolyDataMapper::PickPixels |
|
protected |
◆ ColorArrayMap
The documentation for this class was generated from the following file: