Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
visualization
rendering
filament
FilamentEngine.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// Copyright (c) 2018-2024 www.open3d.org
5
// SPDX-License-Identifier: MIT
6
// ----------------------------------------------------------------------------
7
8
#pragma once
9
10
#include <string>
11
12
namespace
filament
{
13
class
Engine;
14
}
15
16
namespace
open3d
{
17
namespace
visualization {
18
namespace
rendering {
19
20
class
FilamentResourceManager;
21
22
class
EngineInstance {
23
public
:
24
enum class
RenderingType
{
kDefault
,
kOpenGL
,
kVulkan
,
kMetal
};
25
26
// Selects backend to use.
27
// Should be called before instance usage.
28
// If not called, platform available default backend will be used.
29
static
void
SelectBackend
(
RenderingType
type);
30
33
static
void
EnableHeadless
();
34
35
// Specifies path to load shaders and skyboxes from. Must be called before
36
// instance usage, or default path will be used.
37
static
void
SetResourcePath
(
const
std::string& resource_path);
38
static
const
std::string&
GetResourcePath
();
39
40
static
filament::Engine&
GetInstance
();
41
static
FilamentResourceManager
&
GetResourceManager
();
42
46
static
void
DestroyInstance
();
47
48
~EngineInstance
();
49
50
private
:
51
static
EngineInstance
& Get();
52
53
EngineInstance
();
54
55
static
RenderingType
type_;
56
static
bool
is_headless_;
57
static
std::string resource_path_;
58
filament::Engine* engine_;
59
FilamentResourceManager
* resource_manager_;
60
};
61
62
}
// namespace rendering
63
}
// namespace visualization
64
}
// namespace open3d
open3d::visualization::rendering::EngineInstance
Definition
FilamentEngine.h:22
open3d::visualization::rendering::EngineInstance::DestroyInstance
static void DestroyInstance()
Definition
FilamentEngine.cpp:75
open3d::visualization::rendering::EngineInstance::SelectBackend
static void SelectBackend(RenderingType type)
Definition
FilamentEngine.cpp:39
open3d::visualization::rendering::EngineInstance::SetResourcePath
static void SetResourcePath(const std::string &resource_path)
Definition
FilamentEngine.cpp:43
open3d::visualization::rendering::EngineInstance::GetResourceManager
static FilamentResourceManager & GetResourceManager()
Definition
FilamentEngine.cpp:55
open3d::visualization::rendering::EngineInstance::GetResourcePath
static const std::string & GetResourcePath()
Definition
FilamentEngine.cpp:51
open3d::visualization::rendering::EngineInstance::GetInstance
static filament::Engine & GetInstance()
Definition
FilamentEngine.cpp:53
open3d::visualization::rendering::EngineInstance::RenderingType
RenderingType
Definition
FilamentEngine.h:24
open3d::visualization::rendering::EngineInstance::RenderingType::kOpenGL
@ kOpenGL
Definition
FilamentEngine.h:24
open3d::visualization::rendering::EngineInstance::RenderingType::kMetal
@ kMetal
Definition
FilamentEngine.h:24
open3d::visualization::rendering::EngineInstance::RenderingType::kDefault
@ kDefault
Definition
FilamentEngine.h:24
open3d::visualization::rendering::EngineInstance::RenderingType::kVulkan
@ kVulkan
Definition
FilamentEngine.h:24
open3d::visualization::rendering::EngineInstance::~EngineInstance
~EngineInstance()
Definition
FilamentEngine.cpp:59
open3d::visualization::rendering::EngineInstance::EnableHeadless
static void EnableHeadless()
Definition
FilamentEngine.cpp:41
open3d::visualization::rendering::FilamentResourceManager
Definition
FilamentResourceManager.h:50
filament
Definition
FilamentEngine.h:12
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Generated by
1.17.0