27 #ifndef vtkOpenGLPolyDataMapper_h 28 #define vtkOpenGLPolyDataMapper_h 34 #include "vtkRenderingOpenGL2Module.h" 85 vtkGetMacro(PopulateSelectionSettings,
int);
108 vtkSetStringMacro(PointIdArrayName);
109 vtkGetStringMacro(PointIdArrayName);
110 vtkSetStringMacro(CellIdArrayName);
111 vtkGetStringMacro(CellIdArrayName);
120 vtkSetStringMacro(ProcessIdArrayName);
121 vtkGetStringMacro(ProcessIdArrayName);
134 vtkSetStringMacro(CompositeIdArrayName);
135 vtkGetStringMacro(CompositeIdArrayName);
138 #ifndef VTK_LEGACY_REMOVE 153 const std::string& replacementValue,
bool replaceAll);)
155 const std::string& originalValue,
bool replaceFirst);)
156 VTK_LEGACY(
void ClearAllShaderReplacements(
vtkShader::Type shaderType);)
157 VTK_LEGACY(
void ClearAllShaderReplacements();)
169 VTK_LEGACY(
virtual void SetVertexShaderCode(
const char* code);)
170 VTK_LEGACY(
virtual char* GetVertexShaderCode();)
171 VTK_LEGACY(
virtual void SetFragmentShaderCode(
const char* code);)
172 VTK_LEGACY(
virtual char* GetFragmentShaderCode();)
173 VTK_LEGACY(
virtual void SetGeometryShaderCode(
const char* code);)
174 VTK_LEGACY(
virtual char* GetGeometryShaderCode();)
189 void SetVBOShiftScaleMethod(
int m);
216 int fieldAssociation,
int componentno = -1)
override;
224 int fieldAssociation,
int componentno = -1)
override;
249 void MapDataArray(
const char* vertexAttributeName,
const char* dataArrayName,
250 const char* texturename,
int fieldAssociation,
int componentno);
253 std::string GetTextureCoordinateName(
const char* tname);
281 virtual void BuildShaders(
287 virtual void GetShaderTemplate(
293 virtual void ReplaceShaderValues(
301 virtual void ReplaceShaderRenderPass(
302 std::map<vtkShader::Type, vtkShader*> shaders,
vtkRenderer* ren,
vtkActor* act,
bool prePass);
303 virtual void ReplaceShaderCustomUniforms(
304 std::map<vtkShader::Type, vtkShader*> shaders,
vtkActor* act);
305 virtual void ReplaceShaderColor(
307 virtual void ReplaceShaderLight(
309 virtual void ReplaceShaderTCoord(
311 virtual void ReplaceShaderPicking(
313 virtual void ReplaceShaderPrimID(
315 virtual void ReplaceShaderNormal(
317 virtual void ReplaceShaderClip(
319 virtual void ReplaceShaderPositionVC(
321 virtual void ReplaceShaderCoincidentOffset(
323 virtual void ReplaceShaderDepth(
340 virtual void SetLightingShaderParameters(
351 virtual void SetPropertyShaderParameters(
386 virtual bool HaveTextures(
vtkActor* actor);
389 virtual unsigned int GetNumberOfTextures(
vtkActor* actor);
396 virtual std::vector<std::pair<vtkTexture*, std::string> > GetTextures(
vtkActor* actor);
441 virtual void BuildCellTextures(
445 std::vector<unsigned char>& colors, std::vector<float>& normals,
vtkPolyData* pd,
473 #ifndef VTK_LEGACY_REMOVE 486 int GetOpenGLMode(
int representation,
int primType);
490 int GetPointPickingPrimitiveSize(
int primType);
abstract superclass for all actors, volumes and annotations
vtkStateStorage IBOBuildState
PolyDataMapper using OpenGL to render.
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
represent and manipulate 4x4 transformation matrices
std::map< const vtkOpenGLHelper *, int > LastLightComplexity
virtual void MapDataArrayToMultiTextureAttribute(const char *textureName, const char *dataArrayName, int fieldAssociation, int componentno=-1)
virtual void RemoveAllVertexAttributeMappings()
Remove all vertex attributes.
vtkTypeUInt32 vtkMTimeType
Type
Available shader types.
vtkTimeStamp VBOBuildTime
record modification and/or execution time
vtkNew< vtkOpenGLCellToVTKCellMap > CellCellMap
vtkPolyData * CurrentInput
vtkTextureObject * CellScalarTexture
vtkOpenGLBufferObject * CellNormalBuffer
vtkTextureObject * CellNormalTexture
OpenGL rendering utility functions.
std::map< const vtkOpenGLHelper *, vtkTimeStamp > LightComplexityChanged
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
virtual void RemoveVertexAttributeMapping(const char *vertexAttributeName)
Remove a vertex attribute mapping.
bool GetSupportsSelection() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
void SetPopulateSelectionSettings(int v)
bool DrawingEdgesOrVertices
window superclass for vtkRenderWindow
int PopulateSelectionSettings
vtkStateStorage VBOBuildState
vtkOpenGLVertexBufferObjectGroup * VBOs
a simple class to control print indentation
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.
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
std::map< const vtkOpenGLHelper *, int > LastLightCount
map vtkPolyData to graphics primitives
object to represent cell connectivity
vtkGenericOpenGLResourceFreeCallback * ResourceCallback
vtkNew< vtkTransform > VBOInverseTransform
char * ProcessIdArrayName
vtkSmartPointer< vtkOpenGLShaderProperty > LegacyShaderProperty
static vtkPolyDataMapper * New()
char * CompositeIdArrayName
represent and manipulate 3x3 transformation matrices
vtkStateStorage TempState
manage vertex buffer objects shared within a mapper
vtkOpenGLTexture * InternalColorTexture
vtkNew< vtkInformation > LastRenderPassInfo
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.