|
libigl v2.5.0
|
Coverts mesh data inside a igl::ViewerData class in an OpenGL compatible format The class includes a shader and the opengl calls to plot the data. More...
#include <MeshGL.h>
Classes | |
| struct | TextGL |
Public Types | |
| enum | DirtyFlags { DIRTY_NONE = 0x0000 , DIRTY_POSITION = 0x0001 , DIRTY_UV = 0x0002 , DIRTY_NORMAL = 0x0004 , DIRTY_AMBIENT = 0x0008 , DIRTY_DIFFUSE = 0x0010 , DIRTY_SPECULAR = 0x0020 , DIRTY_TEXTURE = 0x0040 , DIRTY_FACE = 0x0080 , DIRTY_MESH = 0x00FF , DIRTY_OVERLAY_LINES = 0x0100 , DIRTY_OVERLAY_POINTS = 0x0200 , DIRTY_VERTEX_LABELS = 0x0400 , DIRTY_FACE_LABELS = 0x0800 , DIRTY_CUSTOM_LABELS = 0x1000 , DIRTY_ALL = 0xFFFF } |
| Bitmask flags for keeping track of what needs to be (re)-uploaded to the GPU. More... | |
| typedef unsigned int | GLuint |
| typedef unsigned int | GLint |
| typedef Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | RowMatrixXf |
Public Member Functions | |
| MeshGL () | |
| void | init () |
| Initialize shaders and buffers. | |
| void | free () |
| Release all resources. | |
| void | init_buffers () |
| Create a new set of OpenGL buffer objects. | |
| void | bind_mesh () |
| Bind the underlying OpenGL buffer objects for subsequent mesh draw calls. | |
| void | draw_mesh (bool solid) |
| Draw the currently buffered mesh (either solid or wireframe) | |
| void | bind_overlay_lines () |
| Bind the underlying OpenGL buffer objects for subsequent line overlay draw calls. | |
| void | draw_overlay_lines () |
| Draw the currently buffered line overlay. | |
| void | bind_overlay_points () |
| Bind the underlying OpenGL buffer objects for subsequent point overlay draw calls. | |
| void | draw_overlay_points () |
| Draw the currently buffered point overlay. | |
| void | init_text_rendering () |
| Text Binding and Draw functions. | |
| void | bind_labels (const TextGL &labels) |
| Bind the underlying OpenGL buffer objects for subsequent text draw calls. | |
| void | draw_labels (const TextGL &labels) |
| Draw the currently buffered text. | |
| void | free_buffers () |
| Release the OpenGL buffer objects. | |
Public Attributes | |
| bool | is_initialized = false |
| GLuint | vao_mesh |
| GLuint | vao_overlay_lines |
| GLuint | vao_overlay_points |
| GLuint | shader_mesh |
| GLuint | shader_overlay_lines |
| GLuint | shader_overlay_points |
| GLuint | shader_text |
| GLuint | vbo_V |
| Vertices of the current mesh (#V x 3) | |
| GLuint | vbo_V_uv |
| UV coordinates for the current mesh (#V x 2) | |
| GLuint | vbo_V_normals |
| Vertices of the current mesh (#V x 3) | |
| GLuint | vbo_V_ambient |
| Ambient material (#V x 3) | |
| GLuint | vbo_V_diffuse |
| Diffuse material (#V x 3) | |
| GLuint | vbo_V_specular |
| Specular material (#V x 3) | |
| GLuint | vbo_F |
| Faces of the mesh (#F x 3) | |
| GLuint | vbo_tex |
| Texture. | |
| GLuint | vbo_lines_F |
| Indices of the line overlay. | |
| GLuint | vbo_lines_V |
| Vertices of the line overlay. | |
| GLuint | vbo_lines_V_colors |
| Color values of the line overlay. | |
| GLuint | vbo_points_F |
| Indices of the point overlay. | |
| GLuint | vbo_points_V |
| Vertices of the point overlay. | |
| GLuint | vbo_points_V_colors |
| Color values of the point overlay. | |
| RowMatrixXf | V_vbo |
| RowMatrixXf | V_normals_vbo |
| RowMatrixXf | V_ambient_vbo |
| RowMatrixXf | V_diffuse_vbo |
| RowMatrixXf | V_specular_vbo |
| RowMatrixXf | V_uv_vbo |
| RowMatrixXf | lines_V_vbo |
| RowMatrixXf | lines_V_colors_vbo |
| RowMatrixXf | points_V_vbo |
| RowMatrixXf | points_V_colors_vbo |
| TextGL | vertex_labels |
| TextGL | face_labels |
| TextGL | custom_labels |
| GLuint | font_atlas |
| int | tex_u |
| int | tex_v |
| GLint | tex_filter |
| GLint | tex_wrap |
| Eigen::Matrix< char, Eigen::Dynamic, 1 > | tex |
| Eigen::Matrix< unsigned, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | F_vbo |
| Eigen::Matrix< unsigned, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | lines_F_vbo |
| Eigen::Matrix< unsigned, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | points_F_vbo |
| uint32_t | dirty |
| Marks dirty buffers that need to be uploaded to OpenGL. | |
Coverts mesh data inside a igl::ViewerData class in an OpenGL compatible format The class includes a shader and the opengl calls to plot the data.
| typedef unsigned int igl::opengl::MeshGL::GLuint |
| typedef unsigned int igl::opengl::MeshGL::GLint |
| typedef Eigen::Matrix<float,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> igl::opengl::MeshGL::RowMatrixXf |
Bitmask flags for keeping track of what needs to be (re)-uploaded to the GPU.
| igl::opengl::MeshGL::MeshGL | ( | ) |
| void igl::opengl::MeshGL::init | ( | ) |
Initialize shaders and buffers.
| void igl::opengl::MeshGL::free | ( | ) |
Release all resources.
| void igl::opengl::MeshGL::init_buffers | ( | ) |
Create a new set of OpenGL buffer objects.
| void igl::opengl::MeshGL::bind_mesh | ( | ) |
Bind the underlying OpenGL buffer objects for subsequent mesh draw calls.
| void igl::opengl::MeshGL::draw_mesh | ( | bool | solid | ) |
Draw the currently buffered mesh (either solid or wireframe)
| [in] | solid | Whether to draw the mesh as a solid or wireframe |
| void igl::opengl::MeshGL::bind_overlay_lines | ( | ) |
Bind the underlying OpenGL buffer objects for subsequent line overlay draw calls.
| void igl::opengl::MeshGL::draw_overlay_lines | ( | ) |
Draw the currently buffered line overlay.
| void igl::opengl::MeshGL::bind_overlay_points | ( | ) |
Bind the underlying OpenGL buffer objects for subsequent point overlay draw calls.
| void igl::opengl::MeshGL::draw_overlay_points | ( | ) |
Draw the currently buffered point overlay.
| void igl::opengl::MeshGL::init_text_rendering | ( | ) |
Text Binding and Draw functions.
| void igl::opengl::MeshGL::bind_labels | ( | const TextGL & | labels | ) |
Bind the underlying OpenGL buffer objects for subsequent text draw calls.
| void igl::opengl::MeshGL::draw_labels | ( | const TextGL & | labels | ) |
Draw the currently buffered text.
| void igl::opengl::MeshGL::free_buffers | ( | ) |
Release the OpenGL buffer objects.
| bool igl::opengl::MeshGL::is_initialized = false |
| GLuint igl::opengl::MeshGL::vao_mesh |
| GLuint igl::opengl::MeshGL::vao_overlay_lines |
| GLuint igl::opengl::MeshGL::vao_overlay_points |
| GLuint igl::opengl::MeshGL::shader_mesh |
| GLuint igl::opengl::MeshGL::shader_overlay_lines |
| GLuint igl::opengl::MeshGL::shader_overlay_points |
| GLuint igl::opengl::MeshGL::shader_text |
| GLuint igl::opengl::MeshGL::vbo_V |
Vertices of the current mesh (#V x 3)
| GLuint igl::opengl::MeshGL::vbo_V_uv |
UV coordinates for the current mesh (#V x 2)
| GLuint igl::opengl::MeshGL::vbo_V_normals |
Vertices of the current mesh (#V x 3)
| GLuint igl::opengl::MeshGL::vbo_V_ambient |
Ambient material (#V x 3)
| GLuint igl::opengl::MeshGL::vbo_V_diffuse |
Diffuse material (#V x 3)
| GLuint igl::opengl::MeshGL::vbo_V_specular |
Specular material (#V x 3)
| GLuint igl::opengl::MeshGL::vbo_F |
Faces of the mesh (#F x 3)
| GLuint igl::opengl::MeshGL::vbo_tex |
Texture.
| GLuint igl::opengl::MeshGL::vbo_lines_F |
Indices of the line overlay.
| GLuint igl::opengl::MeshGL::vbo_lines_V |
Vertices of the line overlay.
| GLuint igl::opengl::MeshGL::vbo_lines_V_colors |
Color values of the line overlay.
| GLuint igl::opengl::MeshGL::vbo_points_F |
Indices of the point overlay.
| GLuint igl::opengl::MeshGL::vbo_points_V |
Vertices of the point overlay.
| GLuint igl::opengl::MeshGL::vbo_points_V_colors |
Color values of the point overlay.
| RowMatrixXf igl::opengl::MeshGL::V_vbo |
| RowMatrixXf igl::opengl::MeshGL::V_normals_vbo |
| RowMatrixXf igl::opengl::MeshGL::V_ambient_vbo |
| RowMatrixXf igl::opengl::MeshGL::V_diffuse_vbo |
| RowMatrixXf igl::opengl::MeshGL::V_specular_vbo |
| RowMatrixXf igl::opengl::MeshGL::V_uv_vbo |
| RowMatrixXf igl::opengl::MeshGL::lines_V_vbo |
| RowMatrixXf igl::opengl::MeshGL::lines_V_colors_vbo |
| RowMatrixXf igl::opengl::MeshGL::points_V_vbo |
| RowMatrixXf igl::opengl::MeshGL::points_V_colors_vbo |
| TextGL igl::opengl::MeshGL::vertex_labels |
| TextGL igl::opengl::MeshGL::face_labels |
| TextGL igl::opengl::MeshGL::custom_labels |
| GLuint igl::opengl::MeshGL::font_atlas |
| int igl::opengl::MeshGL::tex_u |
| int igl::opengl::MeshGL::tex_v |
| GLint igl::opengl::MeshGL::tex_filter |
| GLint igl::opengl::MeshGL::tex_wrap |
| Eigen::Matrix<char,Eigen::Dynamic,1> igl::opengl::MeshGL::tex |
| Eigen::Matrix<unsigned, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> igl::opengl::MeshGL::F_vbo |
| Eigen::Matrix<unsigned, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> igl::opengl::MeshGL::lines_F_vbo |
| Eigen::Matrix<unsigned, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> igl::opengl::MeshGL::points_F_vbo |
| uint32_t igl::opengl::MeshGL::dirty |
Marks dirty buffers that need to be uploaded to OpenGL.