|
Open3D (C++ API)
0.19.0
|
#include <ShaderWrapper.h>
Public Member Functions | |
| virtual | ~ShaderWrapper () |
| ShaderWrapper (const ShaderWrapper &)=delete | |
| ShaderWrapper & | operator= (const ShaderWrapper &)=delete |
| bool | Render (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view) |
| void | InvalidateGeometry () |
| const std::string & | GetShaderName () const |
| void | PrintShaderWarning (const std::string &message) const |
Protected Member Functions | |
| ShaderWrapper (const std::string &name) | |
| virtual bool | Compile ()=0 |
| virtual void | Release ()=0 |
| virtual bool | BindGeometry (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view)=0 |
| virtual bool | RenderGeometry (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view)=0 |
| virtual void | UnbindGeometry ()=0 |
| bool | ValidateShader (GLuint shader_index) |
| bool | ValidateProgram (GLuint program_index) |
| bool | CompileShaders (const char *const vertex_shader_code, const char *const geometry_shader_code, const char *const fragment_shader_code) |
| void | ReleaseProgram () |
| void | SetShaderName (const std::string &shader_name) |
Protected Attributes | |
| GLuint | vertex_shader_ = 0 |
| GLuint | geometry_shader_ = 0 |
| GLuint | fragment_shader_ = 0 |
| GLuint | program_ = 0 |
| GLenum | draw_arrays_mode_ = GL_POINTS |
| GLsizei | draw_arrays_size_ = 0 |
| bool | compiled_ = false |
| bool | bound_ = false |
|
inlinevirtual |
|
delete |
|
inlineprotected |
|
protectedpure virtual |
Implemented in open3d::visualization::glsl::ImageMaskShader, open3d::visualization::glsl::ImageShader, open3d::visualization::glsl::NormalShader, open3d::visualization::glsl::PhongShader, open3d::visualization::glsl::PickingShader, open3d::visualization::glsl::RGBDImageShader, open3d::visualization::glsl::Simple2DShader, open3d::visualization::glsl::SimpleBlackShader, open3d::visualization::glsl::SimpleShader, open3d::visualization::glsl::TexturePhongShader, and open3d::visualization::glsl::TextureSimpleShader.
|
protectedpure virtual |
Function to compile shader In a derived class, this must be declared as final, and called from the constructor.
Implemented in open3d::visualization::glsl::ImageMaskShader, open3d::visualization::glsl::ImageShader, open3d::visualization::glsl::NormalShader, open3d::visualization::glsl::PhongShader, open3d::visualization::glsl::PickingShader, open3d::visualization::glsl::RGBDImageShader, open3d::visualization::glsl::Simple2DShader, open3d::visualization::glsl::SimpleBlackShader, open3d::visualization::glsl::SimpleShader, open3d::visualization::glsl::TexturePhongShader, and open3d::visualization::glsl::TextureSimpleShader.
|
protected |
|
inline |
| void open3d::visualization::glsl::ShaderWrapper::InvalidateGeometry | ( | ) |
Function to invalidate the geometry (set the dirty flag and release geometry resource)
|
delete |
| void open3d::visualization::glsl::ShaderWrapper::PrintShaderWarning | ( | const std::string & | message | ) | const |
|
protectedpure virtual |
Function to release resource In a derived class, this must be declared as final, and called from the destructor.
Implemented in open3d::visualization::glsl::ImageMaskShader, open3d::visualization::glsl::ImageShader, open3d::visualization::glsl::NormalShader, open3d::visualization::glsl::PhongShader, open3d::visualization::glsl::PickingShader, open3d::visualization::glsl::RGBDImageShader, open3d::visualization::glsl::Simple2DShader, open3d::visualization::glsl::SimpleBlackShader, open3d::visualization::glsl::SimpleShader, open3d::visualization::glsl::TexturePhongShader, and open3d::visualization::glsl::TextureSimpleShader.
|
protected |
| bool open3d::visualization::glsl::ShaderWrapper::Render | ( | const geometry::Geometry & | geometry, |
| const RenderOption & | option, | ||
| const ViewControl & | view ) |
Function to render geometry under condition of mode and view The geometry is updated in a passive manner (bind only when needed). Thus this function compiles shaders if not yet, binds geometry if not yet, then do the rendering.
|
protectedpure virtual |
Implemented in open3d::visualization::glsl::ImageMaskShader, open3d::visualization::glsl::ImageShader, open3d::visualization::glsl::NormalShader, open3d::visualization::glsl::PhongShader, open3d::visualization::glsl::PickingShader, open3d::visualization::glsl::RGBDImageShader, open3d::visualization::glsl::Simple2DShader, open3d::visualization::glsl::SimpleBlackShader, open3d::visualization::glsl::SimpleShader, open3d::visualization::glsl::TexturePhongShader, and open3d::visualization::glsl::TextureSimpleShader.
|
inlineprotected |
|
protectedpure virtual |
Implemented in open3d::visualization::glsl::ImageMaskShader, open3d::visualization::glsl::ImageShader, open3d::visualization::glsl::NormalShader, open3d::visualization::glsl::PhongShader, open3d::visualization::glsl::PickingShader, open3d::visualization::glsl::RGBDImageShader, open3d::visualization::glsl::Simple2DShader, open3d::visualization::glsl::SimpleBlackShader, open3d::visualization::glsl::SimpleShader, open3d::visualization::glsl::TexturePhongShader, and open3d::visualization::glsl::TextureSimpleShader.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |