Open3D (C++ API)
src
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
33
namespace
filament
{
34
class
MaterialInstance
;
35
class
TextureSampler;
36
}
// namespace filament
37
38
namespace
open3d
{
39
namespace
visualization {
40
41
class
FilamentMaterialModifier
:
public
MaterialModifier
{
42
public
:
43
static
filament::TextureSampler SamplerFromSamplerParameters(
44
const
TextureSamplerParameters
& sampler_config);
45
46
FilamentMaterialModifier
(
const
std::shared_ptr<filament::MaterialInstance>&
47
material_instance,
48
const
MaterialInstanceHandle
&
id
);
49
FilamentMaterialModifier
() =
default
;
50
51
void
Reset();
52
void
53
Init(
const
std::shared_ptr<filament::MaterialInstance>& material_instance,
54
const
MaterialInstanceHandle
&
id
);
55
56
MaterialModifier
& SetParameter(
const
char
* parameter,
int
value)
override
;
57
MaterialModifier
& SetParameter(
const
char
* parameter,
float
value)
override
;
58
MaterialModifier
& SetParameter(
const
char
* parameter,
59
const
Eigen::Vector3f& value)
override
;
60
MaterialModifier
& SetColor(
const
char
* parameter,
61
const
Eigen::Vector3f& value)
override
;
62
MaterialModifier
& SetColor(
const
char
* parameter,
63
const
Eigen::Vector4f& value)
override
;
64
65
MaterialModifier
& SetTexture(
66
const
char
* parameter,
67
const
TextureHandle
& texture,
68
const
TextureSamplerParameters
& sampler)
override
;
69
70
MaterialModifier
& SetDoubleSided(
bool
double_sided)
override
;
71
72
MaterialInstanceHandle
Finish()
override
;
73
74
private
:
75
MaterialInstanceHandle
current_handle_;
76
std::shared_ptr<filament::MaterialInstance> material_instance_;
77
};
78
79
}
// namespace visualization
80
}
// namespace open3d
open3d::visualization::MaterialModifier
Definition:
MaterialModifier.h:116
open3d::visualization::FilamentMaterialModifier
Definition:
FilamentEntitiesMods.h:41
MaterialModifier.h
open3d
Definition:
Open3DViewer.h:29
open3d::visualization::REHandle< EntityType::MaterialInstance >
open3d::visualization::TextureSamplerParameters
Definition:
MaterialModifier.h:36
filament
Definition:
FilamentCamera.h:31
open3d::visualization::EntityType::MaterialInstance
Generated by
1.8.13