Open3D (C++ API)  0.19.0
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 
13 
14 namespace filament {
15 class Engine;
16 }
17 
18 namespace open3d {
19 namespace visualization {
20 namespace rendering {
21 
22 class FilamentResourceManager;
23 
25 public:
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 
31  // Specifies path to load shaders and skyboxes from. Must be called before
32  // instance usage, or default path will be used.
33  static void SetResourcePath(const std::string& resource_path);
34  static const std::string& GetResourcePath();
35 
36  static filament::Engine& GetInstance();
38 
39  static RenderingType GetBackendType() { return type_; }
40 
44  static void DestroyInstance();
45 
47 
48 private:
49  static EngineInstance& Get();
50 
52 
53  static RenderingType type_;
54  static std::string resource_path_;
55  filament::Engine* engine_;
56  FilamentResourceManager* resource_manager_;
57 };
58 
59 } // namespace rendering
60 } // namespace visualization
61 } // namespace open3d
static void DestroyInstance()
Definition: FilamentEngine.cpp:74
static void SelectBackend(RenderingType type)
Definition: FilamentEngine.cpp:40
static void SetResourcePath(const std::string &resource_path)
Definition: FilamentEngine.cpp:42
static FilamentResourceManager & GetResourceManager()
Definition: FilamentEngine.cpp:54
static const std::string & GetResourcePath()
Definition: FilamentEngine.cpp:50
static RenderingType GetBackendType()
Definition: FilamentEngine.h:39
static filament::Engine & GetInstance()
Definition: FilamentEngine.cpp:52
~EngineInstance()
Definition: FilamentEngine.cpp:58
Definition: FilamentResourceManager.h:50
char type
Definition: FilePCD.cpp:41
Definition: FilamentEngine.h:14
RenderingType
Definition: Renderer.h:57
Definition: PinholeCameraIntrinsic.cpp:16