24 #ifndef vtkOpenGLPolyDataMapper_h 25 #define vtkOpenGLPolyDataMapper_h 28 #include "vtkRenderingOpenGL2Module.h" 80 vtkGetMacro(PopulateSelectionSettings,
int);
115 vtkSetStringMacro(PointIdArrayName);
116 vtkGetStringMacro(PointIdArrayName);
117 vtkSetStringMacro(CellIdArrayName);
118 vtkGetStringMacro(CellIdArrayName);
127 vtkSetStringMacro(ProcessIdArrayName);
128 vtkGetStringMacro(ProcessIdArrayName);
141 vtkSetStringMacro(CompositeIdArrayName);
142 vtkGetStringMacro(CompositeIdArrayName);
154 void AddShaderReplacement(
160 void ClearShaderReplacement(
165 void ClearAllShaderReplacements();
175 vtkSetStringMacro(VertexShaderCode);
176 vtkGetStringMacro(VertexShaderCode);
177 vtkSetStringMacro(FragmentShaderCode);
178 vtkGetStringMacro(FragmentShaderCode);
179 vtkSetStringMacro(GeometryShaderCode);
180 vtkGetStringMacro(GeometryShaderCode);
189 std::vector<float> &buffData);
202 this->HaveAppleBugForce = 1;
207 this->HaveAppleBugForce = 2;
223 void SetVBOShiftScaleMethod(
int m);
240 static void MakeCellCellMap(std::vector<vtkIdType> &CellCellMap,
258 const char* vertexAttributeName,
259 const char* dataArrayName,
260 int fieldAssociation,
261 int componentno = -1)
override;
270 const char* dataArrayName,
int fieldAssociation,
int componentno = -1)
override;
275 const char* dataArrayName,
int fieldAssociation,
int componentno = -1)
override);
294 const char* vertexAttributeName,
295 const char* dataArrayName,
296 const char *texturename,
297 int fieldAssociation,
301 std::string GetTextureCoordinateName(
const char *tname);
315 void GetCoincidentParameters(
329 virtual void UpdateShaders(
335 virtual bool GetNeedToRebuildShaders(
341 virtual void BuildShaders(
342 std::map<vtkShader::Type, vtkShader *> shaders,
348 virtual void GetShaderTemplate(
349 std::map<vtkShader::Type, vtkShader *> shaders,
355 virtual void ReplaceShaderValues(
356 std::map<vtkShader::Type, vtkShader *> shaders,
364 virtual void ReplaceShaderRenderPass(
365 std::map<vtkShader::Type, vtkShader *> shaders,
367 virtual void ReplaceShaderColor(
368 std::map<vtkShader::Type, vtkShader *> shaders,
370 virtual void ReplaceShaderLight(
371 std::map<vtkShader::Type, vtkShader *> shaders,
373 virtual void ReplaceShaderTCoord(
374 std::map<vtkShader::Type, vtkShader *> shaders,
376 virtual void ReplaceShaderPicking(
377 std::map<vtkShader::Type, vtkShader *> shaders,
379 virtual void ReplaceShaderPrimID(
380 std::map<vtkShader::Type, vtkShader *> shaders,
382 virtual void ReplaceShaderNormal(
383 std::map<vtkShader::Type, vtkShader *> shaders,
385 virtual void ReplaceShaderClip(
386 std::map<vtkShader::Type, vtkShader *> shaders,
388 virtual void ReplaceShaderPositionVC(
389 std::map<vtkShader::Type, vtkShader *> shaders,
391 virtual void ReplaceShaderCoincidentOffset(
392 std::map<vtkShader::Type, vtkShader *> shaders,
394 virtual void ReplaceShaderDepth(
395 std::map<vtkShader::Type, vtkShader *> shaders,
451 virtual bool HaveTextures(
vtkActor *actor);
454 virtual unsigned int GetNumberOfTextures(
vtkActor *actor);
461 virtual std::vector<std::pair<vtkTexture *, std::string> > GetTextures(
vtkActor *actor);
505 void BuildCellTextures(
511 void AppendCellTextures(
516 std::vector<unsigned char> &colors,
517 std::vector<float> &normals,
534 std::map<const vtkShader::ReplacementSpec, vtkShader::ReplacementValue>
558 int GetOpenGLMode(
int representation,
int primType);
562 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