MeshLib C++ Docs
Loading...
Searching...
No Matches

#include <MRViewer/MRRenderMeshObject.h>

Inheritance diagram for MR::RenderMeshObject:

Public Member Functions

 RenderMeshObject (const VisualObject &visObj)
virtual ~RenderMeshObject ()
virtual bool render (const ModelRenderParams &params) override
 Returns true if something was rendered, or false if nothing to render.
virtual void renderPicker (const ModelBaseRenderParams &params, unsigned geomId) override
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
virtual void forceBindAll () override
 binds all data for this render object, not to bind ever again (until object becomes dirty)
Public Member Functions inherited from MR::IRenderObject
virtual ~IRenderObject ()=default
virtual void renderUi (const UiRenderParams &params)

Protected Types

typedef unsigned int GLuint

Protected Member Functions

RenderBufferRef< Vector3f > loadVertPosBuffer_ ()
RenderBufferRef< Vector3f > loadVertNormalsBuffer_ ()
RenderBufferRef< ColorloadVertColorsBuffer_ ()
RenderBufferRef< UVCoordloadVertUVBuffer_ ()
RenderBufferRef< Vector3i > loadFaceIndicesBuffer_ ()
RenderBufferRef< unsigned > loadFaceSelectionTextureBuffer_ ()
RenderBufferRef< Vector4f > loadFaceNormalsTextureBuffer_ ()
RenderBufferRef< uint8_t > loadTexturePerFaceTextureBuffer_ ()
RenderBufferRef< VertId > loadPointValidIndicesBuffer_ ()
virtual void renderEdges_ (const ModelRenderParams &parameters, RenderModelPassMask desiredPass, GLuint vao, const Color &color, uint32_t dirtyFlag)
virtual void renderMeshEdges_ (const ModelRenderParams &parameters, RenderModelPassMask desiredPass)
virtual void renderMeshVerts_ (const ModelRenderParams &parameters, RenderModelPassMask desiredPass)
virtual void bindMesh_ (GLStaticHolder::ShaderType shaderType)
virtual void bindMeshPicker_ ()
virtual void bindEdges_ ()
virtual void bindBorders_ ()
virtual void bindSelectedEdges_ ()
virtual void bindEmptyTextures_ (GLuint shaderId)
virtual void bindPoints_ (GLStaticHolder::ShaderType shaderType)
virtual void drawMesh_ (bool solid, ViewportId viewportId, bool picker=false) const
virtual void initBuffers_ ()
 Create a new set of OpenGL buffer objects.
virtual void freeBuffers_ ()
 Release the OpenGL buffer objects.
virtual void update_ (ViewportMask mask)

Protected Attributes

const ObjectMeshHolderobjMesh_
int vertPosSize_ { 0 }
int vertNormalsSize_ { 0 }
int vertColorsSize_ { 0 }
int vertUVSize_ { 0 }
int faceIndicesSize_ { 0 }
int edgeSize_ { 0 }
int selEdgeSize_ { 0 }
int bordersSize_ { 0 }
int pointSize_ { 0 }
int pointValidSize_ { 0 }
Vector2i faceSelectionTextureSize_
Vector2i faceNormalsTextureSize_
Vector2i texturePerFaceSize_
GLuint edgesArrayObjId_ { 0 }
GLuint borderArrayObjId_ { 0 }
GlBuffer borderBuffer_
GLuint selectedEdgesArrayObjId_ { 0 }
GlBuffer selectedEdgesBuffer_
GLuint meshArrayObjId_ { 0 }
GLuint meshPickerArrayObjId_ { 0 }
GlBuffer vertPosBuffer_
GlBuffer vertUVBuffer_
GlBuffer vertNormalsBuffer_
GlBuffer vertColorsBuffer_
GlBuffer facesIndicesBuffer_
GlTexture2 faceSelectionTex_
GlTexture2 faceColorsTex_
GlTexture2 facesNormalsTex_
GlTexture2 texturePerFace_
GlTexture2DArray textureArray_
GlTexture2 edgesTexture_
GlTexture2 selEdgesTexture_
GlTexture2 borderTexture_
GlTexture2 emptyVertsColorTexture_
GlTexture2 emptyLinesColorTexture_
GlTexture2 emptyScnLengthColorTexture_
int maxTexSize_ { 0 }
GLuint pointsArrayObjId_ { 0 }
GlBuffer pointValidBuffer_
bool dirtyPointPos_ = false
uint32_t dirty_ { 0 }
 Marks dirty buffers that need to be uploaded to OpenGL.
bool dirtyEdges_ { false }
 ...
bool cornerMode_ = false

The documentation for this class was generated from the following file: