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,
251 int HaveAppleBugForce;
258 void GetCoincidentParameters(
266 void ComputeBounds() VTK_OVERRIDE;
272 virtual
void UpdateShaders(
278 virtual
bool GetNeedToRebuildShaders(
284 virtual
void BuildShaders(
291 virtual
void GetShaderTemplate(
298 virtual
void ReplaceShaderValues(
307 virtual
void ReplaceShaderRenderPass(
310 virtual
void ReplaceShaderColor(
313 virtual
void ReplaceShaderLight(
316 virtual
void ReplaceShaderTCoord(
319 virtual
void ReplaceShaderPicking(
322 virtual
void ReplaceShaderPrimID(
325 virtual
void ReplaceShaderNormal(
328 virtual
void ReplaceShaderClip(
331 virtual
void ReplaceShaderPositionVC(
334 virtual
void ReplaceShaderCoincidentOffset(
337 virtual
void ReplaceShaderDepth(
388 bool DrawingEdgesOrVertices;
394 virtual
bool HaveTextures(vtkActor *actor);
397 virtual
unsigned int GetNumberOfTextures(vtkActor *actor);
411 std::map<const vtkOpenGLHelper *,
int> LastLightCount;
412 std::map<const vtkOpenGLHelper *,
vtkTimeStamp> LightComplexityChanged;
414 int LastSelectionState;
426 bool UsingScalarColoring;
428 std::
string VBOBuildString;
429 std::
string IBOBuildString;
430 std::
string CellTextureBuildString;
433 int PopulateSelectionSettings;
434 int PrimitiveIDOffset;
440 int ShiftScaleMethod;
446 bool ForceTextureCoordinates;
448 void BuildCellTextures(
454 void AppendCellTextures(
459 std::
vector<
unsigned char> &colors,
460 std::
vector<
float> &normals,
463 bool HavePickScalars;
466 bool HaveCellScalars;
469 bool HaveCellNormals;
472 char* PointIdArrayName;
473 char* CellIdArrayName;
474 char* ProcessIdArrayName;
475 char* CompositeIdArrayName;
516 int GetOpenGLMode(
int representation,
int primType);
520 int GetPointPickingPrimitiveSize(
int primType);
void ForceHaveAppleBugOn()
Override the normal test for the apple bug.
a PolyDataMapper for the OpenGL library
represents an object (geometry & properties) in a rendered scene
represent and manipulate 4x4 transformation matrices
std::vector< unsigned int > CellCellMap
vtkTypeUInt32 vtkMTimeType
Type
Available shader types.
record modification and/or execution time
vtkPolyData * CurrentInput
abstract specification for renderers
std::string OriginalValue
std::map< const ReplacementSpec, ReplacementValue > UserShaderReplacements
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.
bool GetSupportsSelection() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
void SetPopulateSelectionSettings(int v)
window superclass for vtkRenderWindow
bool operator<(const ReplacementSpec &v1) const
a simple class to control print indentation
handles properties associated with a texture map
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
virtual void Modified()
Update the modification time for this object.
char * FragmentShaderCode
vtkOpenGLRenderTimer * TimerQuery
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
char * GeometryShaderCode
bool operator>(const ReplacementSpec &v1) const
abstract class specifies interface to map data
void ShallowCopy(vtkAbstractMapper *m)
Make a shallow copy of this mapper.
abstracts an OpenGL texture object.
map vtkPolyData to graphics primitives
object to represent cell connectivity
vtkShader::Type ShaderType
Vertex or Fragment shader, combined into a ShaderProgram.
Allocate and hold a VTK object.
bool GetHaveAppleBug()
Get the value of HaveAppleBug.
static vtkPolyDataMapper * New()
represent and manipulate 3x3 transformation matrices
manage vertex buffer objects shared within a mapper
Asynchronously measures GPU execution time for a single event.
represent and manipulate 3D points
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.