gtsam_points
Loading...
Searching...
No Matches
splatting.hpp
Go to the documentation of this file.
1#ifndef GLK_SPLATTING_HPP
2#define GLK_SPLATTING_HPP
3
4#include <glk/drawable.hpp>
5
6namespace glk {
7
8class Texture;
9class PointCloudBuffer;
10
11std::shared_ptr<glk::GLSLShader> create_splatting_shader();
12
13class Splatting : public glk::Drawable {
14public:
15 Splatting(const std::shared_ptr<glk::GLSLShader>& shader = nullptr);
16 virtual ~Splatting();
17
20 void set_point_radius(float r);
21 void set_texture(const std::shared_ptr<glk::Texture>& texture);
22 void set_cloud_buffer(const std::shared_ptr<glk::PointCloudBuffer>& cloud_buffer);
23
24 virtual void draw(glk::GLSLShader& shader) const override;
25
26private:
27 int vert_radius_enabled;
28 float point_radius;
29
30 std::shared_ptr<glk::GLSLShader> shader;
31 std::shared_ptr<glk::Texture> texture;
32 std::shared_ptr<glk::PointCloudBuffer> cloud_buffer;
33};
34
35} // namespace glk
36
37#endif
Definition drawable.hpp:12
Definition glsl_shader.hpp:20
Definition splatting.hpp:13
void set_texture(const std::shared_ptr< glk::Texture > &texture)
void set_point_radius(float r)
void disable_vertex_radius()
virtual ~Splatting()
void set_cloud_buffer(const std::shared_ptr< glk::PointCloudBuffer > &cloud_buffer)
Splatting(const std::shared_ptr< glk::GLSLShader > &shader=nullptr)
void enable_vertex_radius()
virtual void draw(glk::GLSLShader &shader) const override
Definition async_buffer_copy.hpp:6
std::enable_if_t< needs_aligned_allocator< T >::value, std::shared_ptr< T > > make_shared(Args &&... args)
Definition make_shared.hpp:20
std::shared_ptr< glk::GLSLShader > create_splatting_shader()