30 int lineIndicesSize_{ 0 };
32 typedef unsigned int GLuint;
34 GLuint linesArrayObjId_{ 0 };
35 GLuint linesPickerArrayObjId_{ 0 };
37 GlTexture2 positionsTex_;
38 GlTexture2 accumScreenLengthTex_;
39 GlTexture2 vertColorsTex_;
40 GlTexture2 lineColorsTex_;
42 void render_(
const ModelRenderParams& params,
bool points,
RenderModelPassMask desiredPass );
43 void renderPicker_(
const ModelBaseRenderParams& params,
unsigned geomId,
bool points );
45 void bindPositions_( GLuint shaderId );
46 void calcAndBindLength_(
const ModelRenderParams& params, GLuint shaderId );
63 Vector4i prevViewport_;
64 bool needAccumLengthDirtyUpdate_(
const ModelRenderParams& params );
65 void resetAccumLengthDirty_(
const ModelRenderParams& params );
67 bool needUpdateScreenLengths_{
true };
Definition MRIRenderObject.h:134
Definition MRObjectLinesHolder.h:30
Definition MRRenderLinesObject.h:17
Visual Object.
Definition MRVisualObject.h:116
ShaderType
Definition MRGLStaticHolder.h:19
virtual size_t heapBytes() const override
returns the amount of memory this object occupies on heap
virtual size_t glBytes() const override
returns the amount of memory this object allocated in OpenGL
RenderLinesObject(const VisualObject &visObj)
RenderModelPassMask
Various passes of the 3D rendering.
Definition MRRenderModelParameters.h:40
virtual bool render(const ModelRenderParams ¶ms) override
Returns true if something was rendered, or false if nothing to render.
virtual void forceBindAll() override
binds all data for this render object, not to bind ever again (until object becomes dirty)
MRVIEWER_API const Vector2f & GetAvailableLineWidthRange()
Returns the range of line widths that are allowed by current renderer.
virtual void renderPicker(const ModelBaseRenderParams ¶ms, unsigned geomId) override
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRIRenderObject.h:46
Mesh rendering parameters for primary rendering (as opposed to the picker).
Definition MRIRenderObject.h:54