ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::visualization::rendering::FilamentResourceManager Class Reference

#include <FilamentResourceManager.h>

Collaboration diagram for cloudViewer::visualization::rendering::FilamentResourceManager:

Classes

struct  BoxedResource
 

Public Member Functions

 FilamentResourceManager (filament::Engine &engine)
 
 ~FilamentResourceManager ()
 
MaterialHandle CreateMaterial (const void *material_data, size_t data_size)
 
MaterialHandle CreateMaterial (const ResourceLoadRequest &request)
 
MaterialInstanceHandle CreateMaterialInstance (const MaterialHandle &id)
 
TextureHandle CreateTexture (const char *path, bool srgb)
 
TextureHandle CreateTexture (const std::shared_ptr< geometry::Image > &image, bool srgb)
 
TextureHandle CreateTexture (const geometry::Image &image, bool srgb)
 
TextureHandle CreateTexture (const t::geometry::Image &image, bool srgb)
 
TextureHandle CreateTextureFilled (const Eigen::Vector3f &color, size_t dimension)
 
TextureHandle CreateColorAttachmentTexture (int width, int height)
 
TextureHandle CreateDepthAttachmentTexture (int width, int height)
 
RenderTargetHandle CreateRenderTarget (TextureHandle color, TextureHandle depth)
 
bool UpdateTexture (TextureHandle texture, const std::shared_ptr< geometry::Image > image, bool srgb)
 
bool UpdateTexture (TextureHandle texture, const t::geometry::Image &image, bool srgb)
 
IndirectLightHandle CreateIndirectLight (const ResourceLoadRequest &request)
 
SkyboxHandle CreateColorSkybox (const Eigen::Vector3f &color)
 
SkyboxHandle CreateSkybox (const ResourceLoadRequest &request)
 
VertexBufferHandle AddVertexBuffer (filament::VertexBuffer *vertex_buffer)
 
void ReuseVertexBuffer (VertexBufferHandle vb)
 
IndexBufferHandle CreateIndexBuffer (size_t indices_count, size_t index_stride)
 
std::weak_ptr< filament::Material > GetMaterial (const MaterialHandle &id)
 
std::weak_ptr< filament::MaterialInstance > GetMaterialInstance (const MaterialInstanceHandle &id)
 
std::weak_ptr< filament::Texture > GetTexture (const TextureHandle &id)
 
std::weak_ptr< filament::RenderTarget > GetRenderTarget (const RenderTargetHandle &id)
 
std::weak_ptr< filament::IndirectLight > GetIndirectLight (const IndirectLightHandle &id)
 
std::weak_ptr< filament::Skybox > GetSkybox (const SkyboxHandle &id)
 
std::weak_ptr< filament::VertexBuffer > GetVertexBuffer (const VertexBufferHandle &id)
 
std::weak_ptr< filament::IndexBuffer > GetIndexBuffer (const IndexBufferHandle &id)
 
void DestroyAll ()
 
void Destroy (const REHandle_abstract &id)
 

Static Public Attributes

static const MaterialHandle kDefaultLit
 
static const MaterialHandle kGaussianSplatShader
 
static const MaterialHandle kDefaultLitWithTransparency
 
static const MaterialHandle kDefaultLitSSR
 
static const MaterialHandle kDefaultUnlit
 
static const MaterialHandle kDefaultUnlitWithTransparency
 
static const MaterialHandle kDefaultNormalShader
 
static const MaterialHandle kDefaultDepthShader
 
static const MaterialHandle kDefaultDepthValueShader
 
static const MaterialHandle kDefaultUnlitGradientShader
 
static const MaterialHandle kDefaultUnlitSolidColorShader
 
static const MaterialHandle kDefaultUnlitBackgroundShader
 
static const MaterialHandle kInfinitePlaneShader
 
static const MaterialHandle kDefaultLineShader
 
static const MaterialHandle kDefaultUnlitPolygonOffsetShader
 
static const MaterialInstanceHandle kDepthMaterial
 
static const MaterialInstanceHandle kNormalsMaterial
 
static const MaterialInstanceHandle kColorMapMaterial
 
static const TextureHandle kDefaultTexture
 
static const TextureHandle kDefaultColorMap
 
static const TextureHandle kDefaultNormalMap
 

Detailed Description

Definition at line 51 of file FilamentResourceManager.h.

Constructor & Destructor Documentation

◆ FilamentResourceManager()

cloudViewer::visualization::rendering::FilamentResourceManager::FilamentResourceManager ( filament::Engine &  engine)
explicit

Definition at line 349 of file FilamentResourceManager.cpp.

◆ ~FilamentResourceManager()

cloudViewer::visualization::rendering::FilamentResourceManager::~FilamentResourceManager ( )

Definition at line 354 of file FilamentResourceManager.cpp.

References DestroyAll().

Member Function Documentation

◆ AddVertexBuffer()

VertexBufferHandle cloudViewer::visualization::rendering::FilamentResourceManager::AddVertexBuffer ( filament::VertexBuffer *  vertex_buffer)

Definition at line 676 of file FilamentResourceManager.cpp.

◆ CreateColorAttachmentTexture()

TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateColorAttachmentTexture ( int  width,
int  height 
)

◆ CreateColorSkybox()

SkyboxHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateColorSkybox ( const Eigen::Vector3f &  color)

Definition at line 617 of file FilamentResourceManager.cpp.

References color.

◆ CreateDepthAttachmentTexture()

TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateDepthAttachmentTexture ( int  width,
int  height 
)

◆ CreateIndexBuffer()

IndexBufferHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateIndexBuffer ( size_t  indices_count,
size_t  index_stride 
)

◆ CreateIndirectLight()

◆ CreateMaterial() [1/2]

◆ CreateMaterial() [2/2]

MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateMaterial ( const void *  material_data,
size_t  data_size 
)

Definition at line 356 of file FilamentResourceManager.cpp.

Referenced by CreateMaterial().

◆ CreateMaterialInstance()

MaterialInstanceHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateMaterialInstance ( const MaterialHandle id)

Definition at line 399 of file FilamentResourceManager.cpp.

References LogWarning.

◆ CreateRenderTarget()

RenderTargetHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateRenderTarget ( TextureHandle  color,
TextureHandle  depth 
)

◆ CreateSkybox()

◆ CreateTexture() [1/4]

TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateTexture ( const char *  path,
bool  srgb 
)

◆ CreateTexture() [2/4]

TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateTexture ( const geometry::Image image,
bool  srgb 
)

Definition at line 437 of file FilamentResourceManager.cpp.

References copy, and image.

◆ CreateTexture() [3/4]

TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateTexture ( const std::shared_ptr< geometry::Image > &  image,
bool  srgb 
)

Definition at line 425 of file FilamentResourceManager.cpp.

◆ CreateTexture() [4/4]

TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateTexture ( const t::geometry::Image image,
bool  srgb 
)

Definition at line 451 of file FilamentResourceManager.cpp.

References image.

◆ CreateTextureFilled()

TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::CreateTextureFilled ( const Eigen::Vector3f &  color,
size_t  dimension 
)

Definition at line 459 of file FilamentResourceManager.cpp.

References color.

◆ Destroy()

◆ DestroyAll()

void cloudViewer::visualization::rendering::FilamentResourceManager::DestroyAll ( )

◆ GetIndexBuffer()

std::weak_ptr< filament::IndexBuffer > cloudViewer::visualization::rendering::FilamentResourceManager::GetIndexBuffer ( const IndexBufferHandle id)

Definition at line 747 of file FilamentResourceManager.cpp.

◆ GetIndirectLight()

std::weak_ptr< filament::IndirectLight > cloudViewer::visualization::rendering::FilamentResourceManager::GetIndirectLight ( const IndirectLightHandle id)

◆ GetMaterial()

std::weak_ptr< filament::Material > cloudViewer::visualization::rendering::FilamentResourceManager::GetMaterial ( const MaterialHandle id)

Definition at line 712 of file FilamentResourceManager.cpp.

◆ GetMaterialInstance()

std::weak_ptr< filament::MaterialInstance > cloudViewer::visualization::rendering::FilamentResourceManager::GetMaterialInstance ( const MaterialInstanceHandle id)

◆ GetRenderTarget()

std::weak_ptr< filament::RenderTarget > cloudViewer::visualization::rendering::FilamentResourceManager::GetRenderTarget ( const RenderTargetHandle id)

Definition at line 727 of file FilamentResourceManager.cpp.

◆ GetSkybox()

std::weak_ptr< filament::Skybox > cloudViewer::visualization::rendering::FilamentResourceManager::GetSkybox ( const SkyboxHandle id)

◆ GetTexture()

◆ GetVertexBuffer()

std::weak_ptr< filament::VertexBuffer > cloudViewer::visualization::rendering::FilamentResourceManager::GetVertexBuffer ( const VertexBufferHandle id)

◆ ReuseVertexBuffer()

void cloudViewer::visualization::rendering::FilamentResourceManager::ReuseVertexBuffer ( VertexBufferHandle  vb)

Definition at line 682 of file FilamentResourceManager.cpp.

References LogError, and vb.

◆ UpdateTexture() [1/2]

bool cloudViewer::visualization::rendering::FilamentResourceManager::UpdateTexture ( TextureHandle  texture,
const std::shared_ptr< geometry::Image image,
bool  srgb 
)

◆ UpdateTexture() [2/2]

bool cloudViewer::visualization::rendering::FilamentResourceManager::UpdateTexture ( TextureHandle  texture,
const t::geometry::Image image,
bool  srgb 
)

Definition at line 489 of file FilamentResourceManager.cpp.

References GetTexture(), and image.

Member Data Documentation

◆ kColorMapMaterial

const MaterialInstanceHandle cloudViewer::visualization::rendering::FilamentResourceManager::kColorMapMaterial
static

◆ kDefaultColorMap

const TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultColorMap
static
Initial value:

Definition at line 72 of file FilamentResourceManager.h.

◆ kDefaultDepthShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultDepthShader
static
Initial value:

Definition at line 60 of file FilamentResourceManager.h.

◆ kDefaultDepthValueShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultDepthValueShader
static
Initial value:

Definition at line 61 of file FilamentResourceManager.h.

◆ kDefaultLineShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultLineShader
static
Initial value:

Definition at line 66 of file FilamentResourceManager.h.

◆ kDefaultLit

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultLit
static
Initial value:

Definition at line 53 of file FilamentResourceManager.h.

◆ kDefaultLitSSR

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultLitSSR
static
Initial value:

Definition at line 56 of file FilamentResourceManager.h.

◆ kDefaultLitWithTransparency

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultLitWithTransparency
static
Initial value:

Definition at line 55 of file FilamentResourceManager.h.

◆ kDefaultNormalMap

const TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultNormalMap
static
Initial value:

Definition at line 73 of file FilamentResourceManager.h.

◆ kDefaultNormalShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultNormalShader
static
Initial value:

Definition at line 59 of file FilamentResourceManager.h.

◆ kDefaultTexture

const TextureHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultTexture
static

◆ kDefaultUnlit

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultUnlit
static
Initial value:

Definition at line 57 of file FilamentResourceManager.h.

◆ kDefaultUnlitBackgroundShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultUnlitBackgroundShader
static
Initial value:

Definition at line 64 of file FilamentResourceManager.h.

◆ kDefaultUnlitGradientShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultUnlitGradientShader
static
Initial value:

Definition at line 62 of file FilamentResourceManager.h.

◆ kDefaultUnlitPolygonOffsetShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultUnlitPolygonOffsetShader
static
Initial value:

Definition at line 67 of file FilamentResourceManager.h.

◆ kDefaultUnlitSolidColorShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultUnlitSolidColorShader
static
Initial value:

Definition at line 63 of file FilamentResourceManager.h.

◆ kDefaultUnlitWithTransparency

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultUnlitWithTransparency
static
Initial value:

Definition at line 58 of file FilamentResourceManager.h.

◆ kDepthMaterial

const MaterialInstanceHandle cloudViewer::visualization::rendering::FilamentResourceManager::kDepthMaterial
static

◆ kGaussianSplatShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kGaussianSplatShader
static
Initial value:

Definition at line 54 of file FilamentResourceManager.h.

◆ kInfinitePlaneShader

const MaterialHandle cloudViewer::visualization::rendering::FilamentResourceManager::kInfinitePlaneShader
static
Initial value:

Definition at line 65 of file FilamentResourceManager.h.

◆ kNormalsMaterial

const MaterialInstanceHandle cloudViewer::visualization::rendering::FilamentResourceManager::kNormalsMaterial
static

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