Open3D (C++ API)  0.18.0
Public Member Functions | Protected Member Functions | Protected Attributes
open3d::visualization::glsl::ImageMaskShader Class Referenceabstract

#include <ImageMaskShader.h>

Inheritance diagram for open3d::visualization::glsl::ImageMaskShader:
open3d::visualization::glsl::ShaderWrapper open3d::visualization::glsl::ImageMaskShaderForImage

Public Member Functions

 ~ImageMaskShader () override
 
- Public Member Functions inherited from open3d::visualization::glsl::ShaderWrapper
virtual ~ShaderWrapper ()
 
 ShaderWrapper (const ShaderWrapper &)=delete
 
ShaderWrapperoperator= (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

 ImageMaskShader (const std::string &name)
 
bool Compile () final
 
void Release () final
 
bool BindGeometry (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view) final
 
bool RenderGeometry (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view) final
 
void UnbindGeometry () final
 
virtual bool PrepareRendering (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view)=0
 
virtual bool PrepareBinding (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view, geometry::Image &image)=0
 
- Protected Member Functions inherited from open3d::visualization::glsl::ShaderWrapper
 ShaderWrapper (const std::string &name)
 
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_position_
 
GLuint vertex_position_buffer_
 
GLuint vertex_UV_
 
GLuint vertex_UV_buffer_
 
GLuint image_texture_
 
GLuint image_texture_buffer_
 
GLuint mask_color_
 
GLuint mask_alpha_
 
gl_util::GLVector3f mask_color_data_
 
GLfloat mask_alpha_data_
 
- Protected Attributes inherited from open3d::visualization::glsl::ShaderWrapper
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
 

Constructor & Destructor Documentation

◆ ~ImageMaskShader()

open3d::visualization::glsl::ImageMaskShader::~ImageMaskShader ( )
inlineoverride

◆ ImageMaskShader()

open3d::visualization::glsl::ImageMaskShader::ImageMaskShader ( const std::string &  name)
inlineprotected

Member Function Documentation

◆ BindGeometry()

bool open3d::visualization::glsl::ImageMaskShader::BindGeometry ( const geometry::Geometry geometry,
const RenderOption option,
const ViewControl view 
)
finalprotectedvirtual

◆ Compile()

bool open3d::visualization::glsl::ImageMaskShader::Compile ( )
finalprotectedvirtual

Function to compile shader In a derived class, this must be declared as final, and called from the constructor.

Implements open3d::visualization::glsl::ShaderWrapper.

◆ PrepareBinding()

virtual bool open3d::visualization::glsl::ImageMaskShader::PrepareBinding ( const geometry::Geometry geometry,
const RenderOption option,
const ViewControl view,
geometry::Image image 
)
protectedpure virtual

◆ PrepareRendering()

virtual bool open3d::visualization::glsl::ImageMaskShader::PrepareRendering ( const geometry::Geometry geometry,
const RenderOption option,
const ViewControl view 
)
protectedpure virtual

◆ Release()

void open3d::visualization::glsl::ImageMaskShader::Release ( )
finalprotectedvirtual

Function to release resource In a derived class, this must be declared as final, and called from the destructor.

Implements open3d::visualization::glsl::ShaderWrapper.

◆ RenderGeometry()

bool open3d::visualization::glsl::ImageMaskShader::RenderGeometry ( const geometry::Geometry geometry,
const RenderOption option,
const ViewControl view 
)
finalprotectedvirtual

◆ UnbindGeometry()

void open3d::visualization::glsl::ImageMaskShader::UnbindGeometry ( )
finalprotectedvirtual

Field Documentation

◆ image_texture_

GLuint open3d::visualization::glsl::ImageMaskShader::image_texture_
protected

◆ image_texture_buffer_

GLuint open3d::visualization::glsl::ImageMaskShader::image_texture_buffer_
protected

◆ mask_alpha_

GLuint open3d::visualization::glsl::ImageMaskShader::mask_alpha_
protected

◆ mask_alpha_data_

GLfloat open3d::visualization::glsl::ImageMaskShader::mask_alpha_data_
protected

◆ mask_color_

GLuint open3d::visualization::glsl::ImageMaskShader::mask_color_
protected

◆ mask_color_data_

gl_util::GLVector3f open3d::visualization::glsl::ImageMaskShader::mask_color_data_
protected

◆ vertex_position_

GLuint open3d::visualization::glsl::ImageMaskShader::vertex_position_
protected

◆ vertex_position_buffer_

GLuint open3d::visualization::glsl::ImageMaskShader::vertex_position_buffer_
protected

◆ vertex_UV_

GLuint open3d::visualization::glsl::ImageMaskShader::vertex_UV_
protected

◆ vertex_UV_buffer_

GLuint open3d::visualization::glsl::ImageMaskShader::vertex_UV_buffer_
protected

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