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);
243 static void MakeCellCellMap(
244 std::vector<vtkIdType> &cellCellMap,
262 const char* vertexAttributeName,
263 const char* dataArrayName,
264 int fieldAssociation,
265 int componentno = -1)
override;
274 const char* dataArrayName,
int fieldAssociation,
int componentno = -1)
override;
291 std::vector<unsigned int> &pixeloffsets,
301 const char* vertexAttributeName,
302 const char* dataArrayName,
303 const char *texturename,
304 int fieldAssociation,
308 std::string GetTextureCoordinateName(
const char *tname);
322 void GetCoincidentParameters(
336 virtual void UpdateShaders(
342 virtual bool GetNeedToRebuildShaders(
348 virtual void BuildShaders(
349 std::map<vtkShader::Type, vtkShader *> shaders,
355 virtual void GetShaderTemplate(
356 std::map<vtkShader::Type, vtkShader *> shaders,
362 virtual void ReplaceShaderValues(
363 std::map<vtkShader::Type, vtkShader *> shaders,
371 virtual void ReplaceShaderRenderPass(
372 std::map<vtkShader::Type, vtkShader *> shaders,
374 virtual void ReplaceShaderColor(
375 std::map<vtkShader::Type, vtkShader *> shaders,
377 virtual void ReplaceShaderLight(
378 std::map<vtkShader::Type, vtkShader *> shaders,
380 virtual void ReplaceShaderTCoord(
381 std::map<vtkShader::Type, vtkShader *> shaders,
383 virtual void ReplaceShaderPicking(
384 std::map<vtkShader::Type, vtkShader *> shaders,
386 virtual void ReplaceShaderPrimID(
387 std::map<vtkShader::Type, vtkShader *> shaders,
389 virtual void ReplaceShaderNormal(
390 std::map<vtkShader::Type, vtkShader *> shaders,
392 virtual void ReplaceShaderClip(
393 std::map<vtkShader::Type, vtkShader *> shaders,
395 virtual void ReplaceShaderPositionVC(
396 std::map<vtkShader::Type, vtkShader *> shaders,
398 virtual void ReplaceShaderCoincidentOffset(
399 std::map<vtkShader::Type, vtkShader *> shaders,
401 virtual void ReplaceShaderDepth(
402 std::map<vtkShader::Type, vtkShader *> shaders,
458 virtual bool HaveTextures(
vtkActor *actor);
461 virtual unsigned int GetNumberOfTextures(
vtkActor *actor);
468 virtual std::vector<std::pair<vtkTexture *, std::string> > GetTextures(
vtkActor *actor);
512 virtual void BuildCellTextures(
518 void AppendCellTextures(
523 std::vector<unsigned char> &colors,
524 std::vector<float> &normals,
540 std::map<const vtkShader::ReplacementSpec, vtkShader::ReplacementValue>
564 int GetOpenGLMode(
int representation,
int primType);
568 int GetPointPickingPrimitiveSize(
int primType);
abstract superclass for all actors, volumes and annotations
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.
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 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 ...
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
std::string CellMapsBuildString
window superclass for vtkRenderWindow
int PopulateSelectionSettings
vtkOpenGLVertexBufferObjectGroup * VBOs
a simple class to control print indentation
std::map< const vtkOpenGLHelper *, vtkTimeStamp > LightComplexityChanged
unsigned int TimerQueryCounter
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()
std::vector< vtkIdType > PointCellMap
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.
std::vector< vtkIdType > CellCellMap
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