Open3D (C++ API)  0.18.0
Public Member Functions | Protected Member Functions
open3d::visualization::glsl::TexturePhongShaderForTriangleMesh Class Reference

#include <TexturePhongShader.h>

Inheritance diagram for open3d::visualization::glsl::TexturePhongShaderForTriangleMesh:
open3d::visualization::glsl::TexturePhongShader open3d::visualization::glsl::ShaderWrapper

Public Member Functions

 TexturePhongShaderForTriangleMesh ()
 
- Public Member Functions inherited from open3d::visualization::glsl::TexturePhongShader
 ~TexturePhongShader () 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

bool PrepareRendering (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view) final
 
bool PrepareBinding (const geometry::Geometry &geometry, const RenderOption &option, const ViewControl &view, std::vector< Eigen::Vector3f > &points, std::vector< Eigen::Vector3f > &normals, std::vector< Eigen::Vector2f > &uvs) final
 
- Protected Member Functions inherited from open3d::visualization::glsl::TexturePhongShader
 TexturePhongShader (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
 
void SetLighting (const ViewControl &view, const RenderOption &option)
 
- 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)
 

Additional Inherited Members

- Protected Attributes inherited from open3d::visualization::glsl::TexturePhongShader
GLuint vertex_position_
 
GLuint vertex_uv_
 
GLuint vertex_normal_
 
GLuint MVP_
 
GLuint V_
 
GLuint M_
 
GLuint light_position_world_
 
GLuint light_color_
 
GLuint light_diffuse_power_
 
GLuint light_specular_power_
 
GLuint light_specular_shininess_
 
GLuint light_ambient_
 
GLuint diffuse_texture_
 
int num_materials_
 
std::vector< int > array_offsets_
 
std::vector< GLsizei > draw_array_sizes_
 
std::vector< GLuint > vertex_position_buffers_
 
std::vector< GLuint > vertex_uv_buffers_
 
std::vector< GLuint > vertex_normal_buffers_
 
std::vector< GLuint > diffuse_texture_buffers_
 
gl_util::GLMatrix4f light_position_world_data_
 
gl_util::GLMatrix4f light_color_data_
 
gl_util::GLVector4f light_diffuse_power_data_
 
gl_util::GLVector4f light_specular_power_data_
 
gl_util::GLVector4f light_specular_shininess_data_
 
gl_util::GLVector4f light_ambient_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

◆ TexturePhongShaderForTriangleMesh()

open3d::visualization::glsl::TexturePhongShaderForTriangleMesh::TexturePhongShaderForTriangleMesh ( )
inline

Member Function Documentation

◆ PrepareBinding()

bool open3d::visualization::glsl::TexturePhongShaderForTriangleMesh::PrepareBinding ( const geometry::Geometry geometry,
const RenderOption option,
const ViewControl view,
std::vector< Eigen::Vector3f > &  points,
std::vector< Eigen::Vector3f > &  normals,
std::vector< Eigen::Vector2f > &  uvs 
)
finalprotectedvirtual

◆ PrepareRendering()

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

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