Open3D (C++ API)
0.19.0
Toggle main menu visibility
Loading...
Searching...
No Matches
cpp
open3d
visualization
rendering
filament
FilamentRenderToBuffer.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 "
open3d/visualization/rendering/RenderToBuffer.h
"
11
13
namespace
filament
{
14
class
Engine;
15
class
Renderer;
16
class
Scene
;
17
class
SwapChain;
18
}
// namespace filament
20
21
namespace
open3d
{
22
namespace
visualization
{
23
namespace
rendering
{
24
25
class
FilamentRenderer
;
26
class
FilamentScene
;
27
class
FilamentView
;
28
29
class
FilamentRenderToBuffer
:
public
RenderToBuffer
{
30
public
:
31
// Use Renderer::CreateBufferRenderer to instantiate
32
// FilamentRenderToBuffer, unless you are NOT using
33
// open3d::visualization::gui or another FilamentRenderer instance.
34
explicit
FilamentRenderToBuffer
(filament::Engine& engine);
35
~FilamentRenderToBuffer
()
override
;
36
37
void
Configure
(
const
View
* view,
38
Scene
* scene,
39
int
width,
40
int
height,
41
int
n_channels,
42
bool
depth_image,
43
BufferReadyCallback
cb)
override
;
44
void
SetDimensions
(std::uint32_t width, std::uint32_t height)
override
;
45
View
&
GetView
()
override
;
46
47
void
Render
()
override
;
48
49
// Renders the minimum necessary to get Filament to tick its rendering
50
// thread.
51
void
RenderTick
();
52
53
private
:
54
friend
class
FilamentRenderer
;
55
56
filament::Engine& engine_;
57
filament::Renderer* renderer_ =
nullptr
;
58
filament::SwapChain* swapchain_ =
nullptr
;
59
FilamentView
* view_ =
nullptr
;
60
FilamentScene
* scene_ =
nullptr
;
61
62
std::size_t width_ = 0;
63
std::size_t height_ = 0;
64
std::size_t n_channels_ = 0;
65
std::uint8_t* buffer_ =
nullptr
;
66
std::size_t buffer_size_ = 0;
67
bool
depth_image_ =
false
;
68
69
BufferReadyCallback
callback_;
70
bool
frame_done_ =
true
;
71
bool
pending_ =
false
;
72
73
static
void
ReadPixelsCallback(
void
* buffer,
size_t
size,
void
* user);
74
void
CopySettings(
const
View
* view);
75
};
76
77
}
// namespace rendering
78
}
// namespace visualization
79
}
// namespace open3d
RenderToBuffer.h
open3d::visualization::rendering::FilamentRenderToBuffer::SetDimensions
void SetDimensions(std::uint32_t width, std::uint32_t height) override
Definition
FilamentRenderToBuffer.cpp:111
open3d::visualization::rendering::FilamentRenderToBuffer::~FilamentRenderToBuffer
~FilamentRenderToBuffer() override
Definition
FilamentRenderToBuffer.cpp:50
open3d::visualization::rendering::FilamentRenderToBuffer::Configure
void Configure(const View *view, Scene *scene, int width, int height, int n_channels, bool depth_image, BufferReadyCallback cb) override
Definition
FilamentRenderToBuffer.cpp:64
open3d::visualization::rendering::FilamentRenderToBuffer::FilamentRenderer
friend class FilamentRenderer
Definition
FilamentRenderToBuffer.h:54
open3d::visualization::rendering::FilamentRenderToBuffer::Render
void Render() override
Definition
FilamentRenderToBuffer.cpp:176
open3d::visualization::rendering::FilamentRenderToBuffer::FilamentRenderToBuffer
FilamentRenderToBuffer(filament::Engine &engine)
Definition
FilamentRenderToBuffer.cpp:45
open3d::visualization::rendering::FilamentRenderToBuffer::RenderTick
void RenderTick()
Definition
FilamentRenderToBuffer.cpp:207
open3d::visualization::rendering::FilamentRenderToBuffer::GetView
View & GetView() override
Definition
FilamentRenderToBuffer.cpp:154
open3d::visualization::rendering::FilamentRenderer
Definition
FilamentRenderer.h:36
open3d::visualization::rendering::FilamentScene
Definition
FilamentScene.h:66
open3d::visualization::rendering::FilamentView
Definition
FilamentView.h:33
open3d::visualization::rendering::RenderToBuffer
Definition
RenderToBuffer.h:21
open3d::visualization::rendering::RenderToBuffer::BufferReadyCallback
std::function< void(const Buffer &)> BufferReadyCallback
Definition
RenderToBuffer.h:31
open3d::visualization::rendering::Scene
Definition
Scene.h:42
open3d::visualization::rendering::View
Definition
View.h:22
filament
Definition
FilamentEngine.h:12
open3d::visualization::rendering
Definition
ModelIO.h:15
open3d::visualization::rendering::EntityType::Scene
@ Scene
Definition
RendererHandle.h:27
open3d::visualization
Definition
ModelIO.h:14
open3d
Definition
PinholeCameraIntrinsic.cpp:16
Generated by
1.17.0