24 #ifndef vtkOpenGLPolyDataMapper_h 25 #define vtkOpenGLPolyDataMapper_h 28 #include "vtkRenderingOpenGL2Module.h" 79 vtkGetMacro(PopulateSelectionSettings,
int);
114 vtkSetStringMacro(PointIdArrayName);
116 vtkSetStringMacro(CellIdArrayName);
126 vtkSetStringMacro(ProcessIdArrayName);
140 vtkSetStringMacro(CompositeIdArrayName);
153 void AddShaderReplacement(
159 void ClearShaderReplacement(
172 vtkSetStringMacro(VertexShaderCode);
174 vtkSetStringMacro(FragmentShaderCode);
176 vtkSetStringMacro(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;
288 void GetCoincidentParameters(
302 virtual void UpdateShaders(
308 virtual bool GetNeedToRebuildShaders(
314 virtual void BuildShaders(
315 std::map<vtkShader::Type, vtkShader *> shaders,
321 virtual void GetShaderTemplate(
322 std::map<vtkShader::Type, vtkShader *> shaders,
328 virtual void ReplaceShaderValues(
329 std::map<vtkShader::Type, vtkShader *> shaders,
337 virtual void ReplaceShaderRenderPass(
338 std::map<vtkShader::Type, vtkShader *> shaders,
340 virtual void ReplaceShaderColor(
341 std::map<vtkShader::Type, vtkShader *> shaders,
343 virtual void ReplaceShaderLight(
344 std::map<vtkShader::Type, vtkShader *> shaders,
346 virtual void ReplaceShaderTCoord(
347 std::map<vtkShader::Type, vtkShader *> shaders,
349 virtual void ReplaceShaderPicking(
350 std::map<vtkShader::Type, vtkShader *> shaders,
352 virtual void ReplaceShaderPrimID(
353 std::map<vtkShader::Type, vtkShader *> shaders,
355 virtual void ReplaceShaderNormal(
356 std::map<vtkShader::Type, vtkShader *> shaders,
358 virtual void ReplaceShaderClip(
359 std::map<vtkShader::Type, vtkShader *> shaders,
361 virtual void ReplaceShaderPositionVC(
362 std::map<vtkShader::Type, vtkShader *> shaders,
364 virtual void ReplaceShaderCoincidentOffset(
365 std::map<vtkShader::Type, vtkShader *> shaders,
367 virtual void ReplaceShaderDepth(
368 std::map<vtkShader::Type, vtkShader *> shaders,
424 virtual bool HaveTextures(
vtkActor *actor);
427 virtual unsigned int GetNumberOfTextures(
vtkActor *actor);
434 virtual std::vector<vtkTexture *> GetTextures(
vtkActor *actor);
478 void BuildCellTextures(
484 void AppendCellTextures(
489 std::vector<unsigned char> &colors,
490 std::vector<float> &normals,
507 std::map<const vtkShader::ReplacementSpec, vtkShader::ReplacementValue>
530 int GetOpenGLMode(
int representation,
int primType);
534 int GetPointPickingPrimitiveSize(
int primType);
void ForceHaveAppleBugOn()
Override the normal test for the apple bug.
std::map< std::string, ExtraAttributeValue > ExtraAttributes
a PolyDataMapper for the OpenGL library
vtkMatrix3x3 * TempMatrix3
represents an object (geometry & properties) in a rendered scene
vtkOpenGLBufferObject * CellScalarBuffer
std::string VBOBuildString
represent and manipulate 4x4 transformation matrices
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
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
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
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