![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <FilamentGeometryBuffersBuilder.h>


Public Member Functions | |
| TGaussianSplatBuffersBuilder (const t::geometry::PointCloud &geometry) | |
| Constructs a TGaussianSplatBuffersBuilder object. More... | |
| Buffers | ConstructBuffers () override |
| Constructs vertex and index buffers for Gaussian Splat rendering. More... | |
Public Member Functions inherited from cloudViewer::visualization::rendering::TPointCloudBuffersBuilder | |
| TPointCloudBuffersBuilder (const t::geometry::PointCloud &geometry) | |
| filament::RenderableManager::PrimitiveType | GetPrimitiveType () const override |
| filament::Box | ComputeAABB () override |
Public Member Functions inherited from cloudViewer::visualization::rendering::GeometryBuffersBuilder | |
| virtual | ~GeometryBuffersBuilder ()=default |
| virtual void | SetDownsampleThreshold (size_t min_points) |
| virtual void | SetWideLines () |
| virtual void | SetAdjustColorsForSRGBToneMapping (bool adjust) |
Definition at line 182 of file FilamentGeometryBuffersBuilder.h.
|
explicit |
Constructs a TGaussianSplatBuffersBuilder object.
Initializes the Gaussian Splat buffers from the provided geometry and ensures that all necessary attributes are present and correctly formatted. If the geometry is not a Gaussian Splat, a warning is issued. Additionally, attributes like "f_dc", "opacity", "rot", "scale", and "f_rest" are checked for their data type, and converted to Float32 if they are not already in that format.
Definition at line 40 of file GaussianSplatBuffers.cpp.
References cloudViewer::core::Float32, cloudViewer::visualization::rendering::TPointCloudBuffersBuilder::geometry_, cloudViewer::t::geometry::PointCloud::GetPointAttr(), cloudViewer::t::geometry::PointCloud::HasPointAttr(), and LogWarning.
|
overridevirtual |
Constructs vertex and index buffers for Gaussian Splat rendering.
This function creates and configures GPU buffers to represent a Gaussian Splat point cloud. It extracts attributes like positions, colors, rotation, scale, and spherical harmonics coefficients from the provided geometry_ and organizes them into separate vertex buffer attributes.
The vertex buffer contains the following attributes:
Each attribute is checked and converted to the expected data type if necessary, and missing attributes are initialized with default values.
Reimplemented from cloudViewer::visualization::rendering::TPointCloudBuffersBuilder.
Definition at line 63 of file GaussianSplatBuffers.cpp.
References cloudViewer::utility::ceil(), cloudViewer::visualization::rendering::GeometryBuffersBuilder::CreateIndexBuffer(), cloudViewer::visualization::rendering::GeometryBuffersBuilder::DeallocateBuffer(), cloudViewer::visualization::rendering::GeometryBuffersBuilder::downsample_threshold_, cloudViewer::t::geometry::PointCloud::GaussianSplatGetSHOrder(), cloudViewer::visualization::rendering::TPointCloudBuffersBuilder::geometry_, cloudViewer::visualization::rendering::EngineInstance::GetInstance(), cloudViewer::t::geometry::PointCloud::GetPointAttr(), cloudViewer::t::geometry::PointCloud::GetPointPositions(), cloudViewer::visualization::rendering::EngineInstance::GetResourceManager(), LogWarning, points, and cloudViewer::visualization::rendering::VertexBuffer.