21 #ifndef vtkOpenGLPolyDataMapper_h 22 #define vtkOpenGLPolyDataMapper_h 25 #include "vtkRenderingOpenGL2Module.h" 76 vtkGetMacro(PopulateSelectionSettings,
int);
111 vtkSetStringMacro(PointIdArrayName);
113 vtkSetStringMacro(CellIdArrayName);
123 vtkSetStringMacro(ProcessIdArrayName);
137 vtkSetStringMacro(CompositeIdArrayName);
150 void AddShaderReplacement(
156 void ClearShaderReplacement(
169 vtkSetStringMacro(VertexShaderCode);
171 vtkSetStringMacro(FragmentShaderCode);
173 vtkSetStringMacro(GeometryShaderCode);
183 std::vector<float> &buffData);
196 this->HaveAppleBugForce = 1;
201 this->HaveAppleBugForce = 2;
217 void SetVBOShiftScaleMethod(
int m);
234 static void MakeCellCellMap(std::vector<vtkIdType> &CellCellMap,
252 const char* vertexAttributeName,
253 const char* dataArrayName,
254 int fieldAssociation,
255 int componentno = -1)
override;
285 void GetCoincidentParameters(
299 virtual void UpdateShaders(
305 virtual bool GetNeedToRebuildShaders(
311 virtual void BuildShaders(
312 std::map<vtkShader::Type, vtkShader *> shaders,
318 virtual void GetShaderTemplate(
319 std::map<vtkShader::Type, vtkShader *> shaders,
325 virtual void ReplaceShaderValues(
326 std::map<vtkShader::Type, vtkShader *> shaders,
334 virtual void ReplaceShaderRenderPass(
335 std::map<vtkShader::Type, vtkShader *> shaders,
337 virtual void ReplaceShaderColor(
338 std::map<vtkShader::Type, vtkShader *> shaders,
340 virtual void ReplaceShaderLight(
341 std::map<vtkShader::Type, vtkShader *> shaders,
343 virtual void ReplaceShaderTCoord(
344 std::map<vtkShader::Type, vtkShader *> shaders,
346 virtual void ReplaceShaderPicking(
347 std::map<vtkShader::Type, vtkShader *> shaders,
349 virtual void ReplaceShaderPrimID(
350 std::map<vtkShader::Type, vtkShader *> shaders,
352 virtual void ReplaceShaderNormal(
353 std::map<vtkShader::Type, vtkShader *> shaders,
355 virtual void ReplaceShaderClip(
356 std::map<vtkShader::Type, vtkShader *> shaders,
358 virtual void ReplaceShaderPositionVC(
359 std::map<vtkShader::Type, vtkShader *> shaders,
361 virtual void ReplaceShaderCoincidentOffset(
362 std::map<vtkShader::Type, vtkShader *> shaders,
364 virtual void ReplaceShaderDepth(
365 std::map<vtkShader::Type, vtkShader *> shaders,
421 virtual bool HaveTextures(
vtkActor *actor);
424 virtual unsigned int GetNumberOfTextures(
vtkActor *actor);
431 virtual std::vector<vtkTexture *> GetTextures(
vtkActor *actor);
475 void BuildCellTextures(
481 void AppendCellTextures(
486 std::vector<unsigned char> &colors,
487 std::vector<float> &normals,
504 std::map<const vtkShader::ReplacementSpec, vtkShader::ReplacementValue>
527 int GetOpenGLMode(
int representation,
int primType);
531 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