Open3D (C++ API)
0.12.0
cpp
open3d
visualization
rendering
filament
FilamentEntitiesMods.h
Go to the documentation of this file.
1
// ----------------------------------------------------------------------------
2
// - Open3D: www.open3d.org -
3
// ----------------------------------------------------------------------------
4
// The MIT License (MIT)
5
//
6
// Copyright (c) 2019 www.open3d.org
7
//
8
// Permission is hereby granted, free of charge, to any person obtaining a copy
9
// of this software and associated documentation files (the "Software"), to deal
10
// in the Software without restriction, including without limitation the rights
11
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
// copies of the Software, and to permit persons to whom the Software is
13
// furnished to do so, subject to the following conditions:
14
//
15
// The above copyright notice and this permission notice shall be included in
16
// all copies or substantial portions of the Software.
17
//
18
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
24
// IN THE SOFTWARE.
25
// ----------------------------------------------------------------------------
26
27
#pragma once
28
29
#include <memory>
30
31
#include "
open3d/visualization/rendering/MaterialModifier.h
"
32
34
namespace
filament
{
35
class
MaterialInstance
;
36
class
TextureSampler;
37
}
// namespace filament
39
40
namespace
open3d
{
41
namespace
visualization {
42
namespace
rendering {
43
44
class
FilamentMaterialModifier
:
public
MaterialModifier
{
45
public
:
46
static
filament::TextureSampler SamplerFromSamplerParameters(
47
const
TextureSamplerParameters
& sampler_config);
48
49
FilamentMaterialModifier
(
const
std::shared_ptr<filament::MaterialInstance>&
50
material_instance,
51
const
MaterialInstanceHandle
&
id
);
52
FilamentMaterialModifier
() =
default
;
53
54
void
Reset();
55
void
56
Init(
const
std::shared_ptr<filament::MaterialInstance>& material_instance,
57
const
MaterialInstanceHandle
&
id
);
58
59
MaterialModifier
& SetParameter(
const
char
* parameter,
int
value)
override
;
60
MaterialModifier
& SetParameter(
const
char
* parameter,
float
value)
override
;
61
MaterialModifier
& SetParameter(
const
char
* parameter,
62
const
Eigen::Vector3f& value)
override
;
63
MaterialModifier
& SetColor(
const
char
* parameter,
64
const
Eigen::Vector3f& value,
65
bool
srgb)
override
;
66
MaterialModifier
& SetColor(
const
char
* parameter,
67
const
Eigen::Vector4f& value,
68
bool
srgb)
override
;
69
70
MaterialModifier
& SetTexture(
71
const
char
* parameter,
72
const
TextureHandle
& texture,
73
const
TextureSamplerParameters
& sampler)
override
;
74
75
MaterialModifier
& SetDoubleSided(
bool
double_sided)
override
;
76
77
MaterialInstanceHandle
Finish()
override
;
78
79
private
:
80
MaterialInstanceHandle
current_handle_;
81
std::shared_ptr<filament::MaterialInstance> material_instance_;
82
};
83
84
}
// namespace rendering
85
}
// namespace visualization
86
}
// namespace open3d
open3d::visualization::rendering::EntityType::MaterialInstance
open3d::visualization::rendering::TextureSamplerParameters
Definition:
MaterialModifier.h:37
open3d::visualization::rendering::MaterialModifier
Definition:
MaterialModifier.h:126
open3d::visualization::rendering::REHandle< EntityType::MaterialInstance >
MaterialModifier.h
open3d::visualization::rendering::FilamentMaterialModifier
Definition:
FilamentEntitiesMods.h:44
open3d
Definition:
PinholeCameraIntrinsic.cpp:35
filament
Definition:
FilamentEngine.h:31
Generated by
1.8.13