16 #ifndef vtkOpenGLPolyDataMapper_h
17 #define vtkOpenGLPolyDataMapper_h
23 #include "vtkRenderingOpenGL2Module.h"
32 VTK_ABI_NAMESPACE_BEGIN
94 vtkGetMacro(PopulateSelectionSettings,
int);
96 void SetPopulateSelectionSettings(
int v) { this->PopulateSelectionSettings = v; }
132 vtkGetMacro(UseProgramPointSize,
bool);
133 vtkSetMacro(UseProgramPointSize,
bool);
134 vtkBooleanMacro(UseProgramPointSize,
bool);
160 int fieldAssociation,
int componentno = -1)
override;
168 int fieldAssociation,
int componentno = -1)
override;
193 void MapDataArray(
const char* vertexAttributeName,
const char* dataArrayName,
194 const char* texturename,
int fieldAssociation,
int componentno);
197 std::string GetTextureCoordinateName(
const char* tname);
228 virtual void BuildShaders(
234 virtual void GetShaderTemplate(
240 virtual void ReplaceShaderValues(
248 virtual void ReplaceShaderRenderPass(
249 std::map<vtkShader::Type, vtkShader*> shaders,
vtkRenderer* ren,
vtkActor* act,
bool prePass);
250 virtual void ReplaceShaderCustomUniforms(
251 std::map<vtkShader::Type, vtkShader*> shaders,
vtkActor* act);
252 virtual void ReplaceShaderColor(
254 virtual void ReplaceShaderEdges(
256 virtual void ReplaceShaderLight(
258 virtual void ReplaceShaderTCoord(
260 virtual void ReplaceShaderPicking(
262 virtual void ReplaceShaderPrimID(
264 virtual void ReplaceShaderNormal(
266 virtual void ReplaceShaderClip(
268 virtual void ReplaceShaderPositionVC(
270 virtual void ReplaceShaderCoincidentOffset(
272 virtual void ReplaceShaderDepth(
289 virtual void SetLightingShaderParameters(
300 virtual void SetPropertyShaderParameters(
326 virtual void BuildSelectionIBO(
332 virtual void BuildSelectionCache(
const char* arrayName,
bool selectingPoints,
vtkPolyData* poly);
342 bool DrawingSelection =
false;
346 std::map<std::tuple<unsigned int, unsigned int, vtkIdType>, std::vector<vtkIdType>>
349 bool SelectionCacheForPoints =
false;
360 unsigned int GetNumberOfTextures(
vtkActor* actor);
362 typedef std::pair<vtkTexture*, std::string>
texinfo;
371 virtual std::vector<texinfo> GetTextures(
vtkActor* actor);
439 virtual void BuildCellTextures(
443 std::vector<unsigned char>& colors, std::vector<float>& normals,
vtkPolyData* pd,
478 int GetOpenGLMode(
int representation,
int primType);
482 int GetPointPickingPrimitiveSize(
int primType);
493 virtual void AddPointIdsToSelectionPrimitives(
vtkPolyData* poly,
const char* arrayName,
494 unsigned int processId,
unsigned int compositeIndex,
vtkIdType selectedId);
495 virtual void AddCellIdsToSelectionPrimitives(
vtkPolyData* poly,
const char* arrayName,
496 unsigned int processId,
unsigned int compositeIndex,
vtkIdType selectedId);
508 #define vtkOpenGLPolyDataMapper_OVERRIDE_ATTRIBUTES \
509 vtkOpenGLPolyDataMapper::CreateOverrideAttributes()
510 VTK_ABI_NAMESPACE_END
abstract superclass for all actors, volumes and annotations
vtkStateStorage IBOBuildState
vtkNew< vtkInformation > LastRenderPassInfo
PolyDataMapper using OpenGL to render.
Attribute for vtkObjectFactory overrides.
vtkMatrix3x3 * TempMatrix3
vtkStateStorage CellTextureBuildState
void ShallowCopy(vtkAbstractMapper *m) override
Make a shallow copy of this mapper.
represents an object (geometry & properties) in a rendered scene
vtkOpenGLBufferObject * CellScalarBuffer
virtual MapperHashType GenerateHash(vtkPolyData *)
This hash integer is computed by concrete graphics implementation of this class.
represent and manipulate 4x4 transformation matrices
std::pair< vtkTexture *, std::string > texinfo
virtual void MapDataArrayToMultiTextureAttribute(const char *textureName, const char *dataArrayName, int fieldAssociation, int componentno=-1)
virtual void RemoveAllVertexAttributeMappings()
Remove all vertex attributes.
vtkTypeUInt32 vtkMTimeType
vtkTimeStamp VBOBuildTime
record modification and/or execution time
vtkNew< vtkOpenGLCellToVTKCellMap > CellCellMap
vtkPolyData * CurrentInput
vtkTextureObject * CellScalarTexture
vtkOpenGLBufferObject * CellNormalBuffer
vtkTextureObject * CellNormalTexture
OpenGL rendering utility functions.
abstract specification for renderers
virtual void RenderPiece(vtkRenderer *, vtkActor *)
Implemented by sub classes.
bool ForceTextureCoordinates
virtual void ProcessSelectorPixelBuffers(vtkHardwareSelector *, std::vector< unsigned int > &, vtkProp *)
allows a mapper to update a selections color buffers Called from a prop which in turn is called from ...
represent GPU shader properties
std::map< std::string, ExtraAttributeValue > ExtraAttributes
concrete dataset represents vertices, lines, polygons, and triangle strips
vtkOpenGLBufferObject * EdgeBuffer
virtual void RemoveVertexAttributeMapping(const char *vertexAttributeName)
Remove a vertex attribute mapping.
vtkIdType PrimitiveIDOffset
bool GetSupportsSelection() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
window superclass for vtkRenderWindow
int PopulateSelectionSettings
std::map< std::tuple< unsigned int, unsigned int, vtkIdType >, std::vector< vtkIdType > > SelectionCache
std::uintptr_t MapperHashType
vtkStateStorage VBOBuildState
vtkOpenGLVertexBufferObjectGroup * VBOs
a simple class to control print indentation
LightingTypeEnum
Represent the type of lighting used.
unsigned int TimerQueryCounter
vtkMatrix4x4 * TempMatrix4
vtkNew< vtkMatrix4x4 > VBOShiftScale
handles properties associated with a texture map
vtkOpenGLRenderTimer * TimerQuery
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_MARSHALEXCLUDE(reason)
virtual void ComputeBounds()
Called in GetBounds().
vtkOpenGLHelper * LastBoundBO
abstract class specifies interface to map data
abstracts an OpenGL texture object.
virtual void MapDataArrayToVertexAttribute(const char *vertexAttributeName, const char *dataArrayName, int fieldAssociation, int componentno=-1)
Select a data array from the point/cell data and map it to a generic vertex attribute.
vtkTimeStamp SelectionStateChanged
map vtkPolyData to graphics primitives
object to represent cell connectivity
vtkGenericOpenGLResourceFreeCallback * ResourceCallback
vtkNew< vtkTransform > VBOInverseTransform
std::vector< unsigned char > EdgeValues
vtkTimeStamp LightComplexityChanged
static vtkPolyDataMapper * New()
virtual vtkIdType GetMaximumNumberOfTriangles(vtkRenderer *)
Returns an estimate of the number of triangles that can be rendered by the underlying graphics implem...
vtkTextureObject * EdgeTexture
represent and manipulate 3x3 transformation matrices
vtkStateStorage TempState
manage vertex buffer objects shared within a mapper
std::map< const vtkOpenGLHelper *, primitiveInfo > PrimitiveInfo
vtkOpenGLTexture * InternalColorTexture
virtual void SetVBOShiftScaleMethod(int)
A convenience method for enabling/disabling the VBO's shift+scale transform.
Asynchronously measures GPU execution time for a single event.
Class to make storing and comparing state quick and easy.
represent and manipulate 3D points
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
std::string SelectionCacheName
#define VTK_MARSHAL_EXCLUDE_REASON_IS_INTERNAL