10#ifndef vtkOpenGLGlyph3DHelper_h 
   11#define vtkOpenGLGlyph3DHelper_h 
   18#include "vtkRenderingOpenGL2Module.h"  
   20VTK_ABI_NAMESPACE_BEGIN
 
   35    std::vector<unsigned char>& colors, std::vector<float>& matrices,
 
   36    std::vector<float>& normalMatrices, std::vector<vtkIdType>& pickIds, 
vtkMTimeType pointMTime,
 
   39  void SetLODs(std::vector<std::pair<float, float>>& lods);
 
   56    std::vector<unsigned char>& colors, std::vector<float>& matrices,
 
   57    std::vector<float>& normalMatrices, 
vtkMTimeType pointMTime, 
bool culling);
 
   96  std::vector<std::pair<float, float>> 
LODs;
 
represents an object (geometry & properties) in a rendered scene
 
dynamic, self-adjusting array of bits
 
a simple class to control print indentation
 
Allocate and hold a VTK object.
 
PolyDataMapper using OpenGL to render.
 
void ReleaseGraphicsResources(vtkWindow *window) override
Release any graphics resources that are being consumed by this mapper.
 
vtkTimeStamp InstanceBuffersBuildTime
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
void SetLODs(std::vector< std::pair< float, float > > &lods)
 
vtkTimeStamp InstanceBuffersLoadTime
 
void ReplaceShaderPicking(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates.
 
void GetShaderTemplate(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Create the basic shaders before replacement.
 
void SetLODColoring(bool val)
 
void ReplaceShaderPositionVC(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates.
 
void GlyphRender(vtkRenderer *ren, vtkActor *actor, vtkIdType numPts, std::vector< unsigned char > &colors, std::vector< float > &matrices, std::vector< float > &normalMatrices, std::vector< vtkIdType > &pickIds, vtkMTimeType pointMTime, bool culling)
Fast path for rendering glyphs comprised of only one type of primitive Must set this->CurrentInput ex...
 
vtkNew< vtkOpenGLInstanceCulling > InstanceCulling
 
void SetMapperShaderParameters(vtkOpenGLHelper &cellBO, vtkRenderer *ren, vtkActor *act) override
Set the shader parameters related to the actor/mapper.
 
vtkNew< vtkOpenGLBufferObject > ColorBuffer
 
void ReplaceShaderColor(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates.
 
static vtkOpenGLGlyph3DHelper * New()
 
void ReplaceShaderNormal(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates.
 
void GlyphRenderInstances(vtkRenderer *ren, vtkActor *actor, vtkIdType numPts, std::vector< unsigned char > &colors, std::vector< float > &matrices, std::vector< float > &normalMatrices, vtkMTimeType pointMTime, bool culling)
 
void ReplaceShaderClip(std::map< vtkShader::Type, vtkShader * > shaders, vtkRenderer *ren, vtkActor *act) override
Perform string replacements on the shader templates.
 
vtkNew< vtkOpenGLBufferObject > MatrixBuffer
 
vtkNew< vtkOpenGLBufferObject > NormalMatrixBuffer
 
~vtkOpenGLGlyph3DHelper() override=default
 
std::vector< std::pair< float, float > > LODs
 
void BuildCullingShaders(vtkRenderer *ren, vtkActor *actor, vtkIdType numPts, bool withNormals)
 
PolyDataMapper using OpenGL to render.
 
abstract specification for renderers
 
record modification and/or execution time
 
window superclass for vtkRenderWindow
 
vtkTypeUInt32 vtkMTimeType