21 #ifndef vtkOpenGLPolyDataMapper_h 22 #define vtkOpenGLPolyDataMapper_h 25 #include "vtkRenderingOpenGL2Module.h" 77 vtkGetMacro(PopulateSelectionSettings,
int);
112 vtkSetStringMacro(PointIdArrayName);
113 vtkGetStringMacro(PointIdArrayName);
114 vtkSetStringMacro(CellIdArrayName);
115 vtkGetStringMacro(CellIdArrayName);
124 vtkSetStringMacro(ProcessIdArrayName);
125 vtkGetStringMacro(ProcessIdArrayName);
138 vtkSetStringMacro(CompositeIdArrayName);
139 vtkGetStringMacro(CompositeIdArrayName);
151 void AddShaderReplacement(
157 void ClearShaderReplacement(
162 void ClearAllShaderReplacements();
172 vtkSetStringMacro(VertexShaderCode);
173 vtkGetStringMacro(VertexShaderCode);
174 vtkSetStringMacro(FragmentShaderCode);
175 vtkGetStringMacro(FragmentShaderCode);
176 vtkSetStringMacro(GeometryShaderCode);
177 vtkGetStringMacro(GeometryShaderCode);
186 std::vector<float> &buffData);
199 this->HaveAppleBugForce = 1;
204 this->HaveAppleBugForce = 2;
220 void SetVBOShiftScaleMethod(
int m);
237 static void MakeCellCellMap(std::vector<vtkIdType> &CellCellMap,
255 const char* vertexAttributeName,
256 const char* dataArrayName,
257 int fieldAssociation,
258 int componentno = -1)
override;
267 const char* dataArrayName,
int fieldAssociation,
int componentno = -1)
override;
272 const char* dataArrayName,
int fieldAssociation,
int componentno = -1)
override);
291 const char* vertexAttributeName,
292 const char* dataArrayName,
293 const char *texturename,
294 int fieldAssociation,
298 std::string GetTextureCoordinateName(
const char *tname);
312 void GetCoincidentParameters(
326 virtual void UpdateShaders(
332 virtual bool GetNeedToRebuildShaders(
338 virtual void BuildShaders(
339 std::map<vtkShader::Type, vtkShader *> shaders,
345 virtual void GetShaderTemplate(
346 std::map<vtkShader::Type, vtkShader *> shaders,
352 virtual void ReplaceShaderValues(
353 std::map<vtkShader::Type, vtkShader *> shaders,
361 virtual void ReplaceShaderRenderPass(
362 std::map<vtkShader::Type, vtkShader *> shaders,
364 virtual void ReplaceShaderColor(
365 std::map<vtkShader::Type, vtkShader *> shaders,
367 virtual void ReplaceShaderLight(
368 std::map<vtkShader::Type, vtkShader *> shaders,
370 virtual void ReplaceShaderTCoord(
371 std::map<vtkShader::Type, vtkShader *> shaders,
373 virtual void ReplaceShaderPicking(
374 std::map<vtkShader::Type, vtkShader *> shaders,
376 virtual void ReplaceShaderPrimID(
377 std::map<vtkShader::Type, vtkShader *> shaders,
379 virtual void ReplaceShaderNormal(
380 std::map<vtkShader::Type, vtkShader *> shaders,
382 virtual void ReplaceShaderClip(
383 std::map<vtkShader::Type, vtkShader *> shaders,
385 virtual void ReplaceShaderPositionVC(
386 std::map<vtkShader::Type, vtkShader *> shaders,
388 virtual void ReplaceShaderCoincidentOffset(
389 std::map<vtkShader::Type, vtkShader *> shaders,
391 virtual void ReplaceShaderDepth(
392 std::map<vtkShader::Type, vtkShader *> shaders,
448 virtual bool HaveTextures(
vtkActor *actor);
451 virtual unsigned int GetNumberOfTextures(
vtkActor *actor);
458 virtual std::vector<std::pair<vtkTexture *, std::string> > GetTextures(
vtkActor *actor);
502 void BuildCellTextures(
508 void AppendCellTextures(
513 std::vector<unsigned char> &colors,
514 std::vector<float> &normals,
531 std::map<const vtkShader::ReplacementSpec, vtkShader::ReplacementValue>
555 int GetOpenGLMode(
int representation,
int primType);
559 int GetPointPickingPrimitiveSize(
int primType);
void ForceHaveAppleBugOn()
Override the normal test for the apple bug.
std::map< std::string, ExtraAttributeValue > ExtraAttributes
PolyDataMapper using OpenGL to render.
vtkMatrix3x3 * TempMatrix3
represents an object (geometry & properties) in a rendered scene
vtkOpenGLBufferObject * CellScalarBuffer
std::string VBOBuildString
represent and manipulate 4x4 transformation matrices
virtual void MapDataArrayToMultiTextureAttribute(const char *textureName, const char *dataArrayName, int fieldAssociation, int componentno=-1)
virtual void RemoveAllVertexAttributeMappings()
Remove all vertex attributes.
std::vector< unsigned int > CellCellMap
vtkTypeUInt32 vtkMTimeType
Type
Available shader types.
vtkTimeStamp VBOBuildTime
record modification and/or execution time
vtkPolyData * CurrentInput
vtkTextureObject * CellScalarTexture
vtkOpenGLBufferObject * CellNormalBuffer
vtkTextureObject * CellNormalTexture
abstract specification for renderers
std::map< const vtkShader::ReplacementSpec, vtkShader::ReplacementValue > UserShaderReplacements
bool ForceTextureCoordinates
virtual bool GetIsOpaque()
Returns if the mapper does not expect to have translucent geometry.
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void RenderPiece(vtkRenderer *ren, vtkActor *act)=0
Implemented by sub classes.
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)
std::vector< float > AppleBugPrimIDs
bool DrawingEdgesOrVertices
window superclass for vtkRenderWindow
int PopulateSelectionSettings
vtkOpenGLVertexBufferObjectGroup * VBOs
a simple class to control print indentation
std::map< const vtkOpenGLHelper *, vtkTimeStamp > LightComplexityChanged
vtkMatrix4x4 * TempMatrix4
vtkNew< vtkMatrix4x4 > VBOShiftScale
handles properties associated with a texture map
virtual void Modified()
Update the modification time for this object.
char * FragmentShaderCode
std::string IBOBuildString
vtkOpenGLRenderTimer * TimerQuery
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
char * GeometryShaderCode
virtual void ComputeBounds()
Called in GetBounds().
vtkOpenGLHelper * LastBoundBO
abstract class specifies interface to map data
void ShallowCopy(vtkAbstractMapper *m)
Make a shallow copy of this mapper.
std::map< const vtkOpenGLHelper *, int > LastLightComplexity
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
bool GetHaveAppleBug()
Get the value of HaveAppleBug.
char * ProcessIdArrayName
static vtkPolyDataMapper * New()
char * CompositeIdArrayName
represent and manipulate 3x3 transformation matrices
manage vertex buffer objects shared within a mapper
vtkOpenGLTexture * InternalColorTexture
vtkNew< vtkInformation > LastRenderPassInfo
Asynchronously measures GPU execution time for a single event.
represent and manipulate 3D points
std::map< const vtkOpenGLHelper *, int > LastLightCount
void ForceHaveAppleBugOff()
Override the normal test for the apple bug.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.
std::string CellTextureBuildString
vtkOpenGLBufferObject * AppleBugPrimIDBuffer