21 #ifndef vtkOpenGLPolyDataMapper_h 22 #define vtkOpenGLPolyDataMapper_h 28 #include "vtkRenderingOpenGL2Module.h" 79 vtkGetMacro(PopulateSelectionSettings,
int);
102 vtkSetStringMacro(PointIdArrayName);
103 vtkGetStringMacro(PointIdArrayName);
104 vtkSetStringMacro(CellIdArrayName);
105 vtkGetStringMacro(CellIdArrayName);
114 vtkSetStringMacro(ProcessIdArrayName);
115 vtkGetStringMacro(ProcessIdArrayName);
128 vtkSetStringMacro(CompositeIdArrayName);
129 vtkGetStringMacro(CompositeIdArrayName);
132 #ifndef VTK_LEGACY_REMOVE 147 const std::string& replacementValue,
bool replaceAll);)
149 const std::string& originalValue,
bool replaceFirst);)
150 VTK_LEGACY(
void ClearAllShaderReplacements(
vtkShader::Type shaderType);)
151 VTK_LEGACY(
void ClearAllShaderReplacements();)
163 VTK_LEGACY(
virtual void SetVertexShaderCode(
const char* code);)
164 VTK_LEGACY(
virtual char* GetVertexShaderCode();)
165 VTK_LEGACY(
virtual void SetFragmentShaderCode(
const char* code);)
166 VTK_LEGACY(
virtual char* GetFragmentShaderCode();)
167 VTK_LEGACY(
virtual void SetGeometryShaderCode(
const char* code);)
168 VTK_LEGACY(
virtual char* GetGeometryShaderCode();)
183 void SetVBOShiftScaleMethod(
int m);
210 int fieldAssociation,
int componentno = -1)
override;
218 int fieldAssociation,
int componentno = -1)
override;
243 void MapDataArray(
const char* vertexAttributeName,
const char* dataArrayName,
244 const char* texturename,
int fieldAssociation,
int componentno);
247 std::string GetTextureCoordinateName(
const char* tname);
275 virtual void BuildShaders(
281 virtual void GetShaderTemplate(
287 virtual void ReplaceShaderValues(
295 virtual void ReplaceShaderRenderPass(
296 std::map<vtkShader::Type, vtkShader*> shaders,
vtkRenderer* ren,
vtkActor* act,
bool prePass);
297 virtual void ReplaceShaderCustomUniforms(
298 std::map<vtkShader::Type, vtkShader*> shaders,
vtkActor* act);
299 virtual void ReplaceShaderColor(
301 virtual void ReplaceShaderLight(
303 virtual void ReplaceShaderTCoord(
305 virtual void ReplaceShaderPicking(
307 virtual void ReplaceShaderPrimID(
309 virtual void ReplaceShaderNormal(
311 virtual void ReplaceShaderClip(
313 virtual void ReplaceShaderPositionVC(
315 virtual void ReplaceShaderCoincidentOffset(
317 virtual void ReplaceShaderDepth(
334 virtual void SetLightingShaderParameters(
345 virtual void SetPropertyShaderParameters(
380 virtual bool HaveTextures(
vtkActor* actor);
383 virtual unsigned int GetNumberOfTextures(
vtkActor* actor);
390 virtual std::vector<std::pair<vtkTexture*, std::string> > GetTextures(
vtkActor* actor);
435 virtual void BuildCellTextures(
439 std::vector<unsigned char>& colors, std::vector<float>& normals,
vtkPolyData* pd,
467 #ifndef VTK_LEGACY_REMOVE 480 int GetOpenGLMode(
int representation,
int primType);
484 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.