21#ifndef vtkOpenGLGlyph3DHelper_h
22#define vtkOpenGLGlyph3DHelper_h
29#include "vtkRenderingOpenGL2Module.h"
45 std::vector<unsigned char>& colors, std::vector<float>& matrices,
46 std::vector<float>& normalMatrices, std::vector<vtkIdType>& pickIds,
vtkMTimeType pointMTime,
49 void SetLODs(std::vector<std::pair<float, float>>& lods);
66 std::vector<unsigned char>& colors, std::vector<float>& matrices,
67 std::vector<float>& normalMatrices,
vtkMTimeType pointMTime,
bool culling);
106 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 parameteres 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