24 #ifndef vtkOpenGLPolyDataMapper_h 25 #define vtkOpenGLPolyDataMapper_h 31 #include "vtkRenderingOpenGL2Module.h" 82 vtkGetMacro(PopulateSelectionSettings,
int);
105 vtkSetStringMacro(PointIdArrayName);
106 vtkGetStringMacro(PointIdArrayName);
107 vtkSetStringMacro(CellIdArrayName);
108 vtkGetStringMacro(CellIdArrayName);
117 vtkSetStringMacro(ProcessIdArrayName);
118 vtkGetStringMacro(ProcessIdArrayName);
131 vtkSetStringMacro(CompositeIdArrayName);
132 vtkGetStringMacro(CompositeIdArrayName);
135 #ifndef VTK_LEGACY_REMOVE 150 const std::string& replacementValue,
bool replaceAll);)
152 const std::string& originalValue,
bool replaceFirst);)
153 VTK_LEGACY(
void ClearAllShaderReplacements(
vtkShader::Type shaderType);)
154 VTK_LEGACY(
void ClearAllShaderReplacements();)
166 VTK_LEGACY(
virtual void SetVertexShaderCode(
const char* code);)
167 VTK_LEGACY(
virtual char* GetVertexShaderCode();)
168 VTK_LEGACY(
virtual void SetFragmentShaderCode(
const char* code);)
169 VTK_LEGACY(
virtual char* GetFragmentShaderCode();)
170 VTK_LEGACY(
virtual void SetGeometryShaderCode(
const char* code);)
171 VTK_LEGACY(
virtual char* GetGeometryShaderCode();)
186 void SetVBOShiftScaleMethod(
int m);
213 int fieldAssociation,
int componentno = -1)
override;
221 int fieldAssociation,
int componentno = -1)
override;
246 void MapDataArray(
const char* vertexAttributeName,
const char* dataArrayName,
247 const char* texturename,
int fieldAssociation,
int componentno);
250 std::string GetTextureCoordinateName(
const char* tname);
278 virtual void BuildShaders(
284 virtual void GetShaderTemplate(
290 virtual void ReplaceShaderValues(
298 virtual void ReplaceShaderRenderPass(
299 std::map<vtkShader::Type, vtkShader*> shaders,
vtkRenderer* ren,
vtkActor* act,
bool prePass);
300 virtual void ReplaceShaderCustomUniforms(
301 std::map<vtkShader::Type, vtkShader*> shaders,
vtkActor* act);
302 virtual void ReplaceShaderColor(
304 virtual void ReplaceShaderLight(
306 virtual void ReplaceShaderTCoord(
308 virtual void ReplaceShaderPicking(
310 virtual void ReplaceShaderPrimID(
312 virtual void ReplaceShaderNormal(
314 virtual void ReplaceShaderClip(
316 virtual void ReplaceShaderPositionVC(
318 virtual void ReplaceShaderCoincidentOffset(
320 virtual void ReplaceShaderDepth(
337 virtual void SetLightingShaderParameters(
348 virtual void SetPropertyShaderParameters(
383 virtual bool HaveTextures(
vtkActor* actor);
386 virtual unsigned int GetNumberOfTextures(
vtkActor* actor);
393 virtual std::vector<std::pair<vtkTexture*, std::string> > GetTextures(
vtkActor* actor);
438 virtual void BuildCellTextures(
442 std::vector<unsigned char>& colors, std::vector<float>& normals,
vtkPolyData* pd,
470 #ifndef VTK_LEGACY_REMOVE 483 int GetOpenGLMode(
int representation,
int primType);
487 int GetPointPickingPrimitiveSize(
int primType);
abstract superclass for all actors, volumes and annotations
vtkStateStorage IBOBuildState
PolyDataMapper using OpenGL to render.
vtkMatrix3x3 * TempMatrix3
vtkStateStorage CellTextureBuildState
void ShallowCopy(vtkAbstractMapper *m) override
Make a shallow copy of this mapper.
represents an object (geometry & properties) in a rendered scene
vtkOpenGLBufferObject * CellScalarBuffer
represent and manipulate 4x4 transformation matrices
std::map< const vtkOpenGLHelper *, int > LastLightComplexity
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
vtkNew< vtkOpenGLCellToVTKCellMap > CellCellMap
vtkPolyData * CurrentInput
vtkTextureObject * CellScalarTexture
vtkOpenGLBufferObject * CellNormalBuffer
vtkTextureObject * CellNormalTexture
OpenGL rendering utility functions.
std::map< const vtkOpenGLHelper *, vtkTimeStamp > LightComplexityChanged
abstract specification for renderers
virtual void RenderPiece(vtkRenderer *, vtkActor *)
Implemented by sub classes.
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 ...
represent GPU shader properties
std::map< std::string, ExtraAttributeValue > ExtraAttributes
concrete dataset represents vertices, lines, polygons, and triangle strips
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)
bool DrawingEdgesOrVertices
window superclass for vtkRenderWindow
int PopulateSelectionSettings
vtkStateStorage VBOBuildState
vtkOpenGLVertexBufferObjectGroup * VBOs
a simple class to control print indentation
unsigned int TimerQueryCounter
vtkMatrix4x4 * TempMatrix4
vtkNew< vtkMatrix4x4 > VBOShiftScale
handles properties associated with a texture map
vtkOpenGLRenderTimer * TimerQuery
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void ComputeBounds()
Called in GetBounds().
vtkOpenGLHelper * LastBoundBO
abstract class specifies interface to map data
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
std::map< const vtkOpenGLHelper *, int > LastLightCount
map vtkPolyData to graphics primitives
object to represent cell connectivity
vtkGenericOpenGLResourceFreeCallback * ResourceCallback
vtkNew< vtkTransform > VBOInverseTransform
char * ProcessIdArrayName
vtkSmartPointer< vtkOpenGLShaderProperty > LegacyShaderProperty
static vtkPolyDataMapper * New()
char * CompositeIdArrayName
represent and manipulate 3x3 transformation matrices
vtkStateStorage TempState
manage vertex buffer objects shared within a mapper
vtkOpenGLTexture * InternalColorTexture
vtkNew< vtkInformation > LastRenderPassInfo
Asynchronously measures GPU execution time for a single event.
Class to make storing and comparing state quick and easy.
represent and manipulate 3D points
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this mapper.