Material Definition Language API
Up
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
ilightprofile.h
Go to the documentation of this file.
1
/***************************************************************************************************
2
* Copyright 2019 NVIDIA Corporation. All rights reserved.
3
**************************************************************************************************/
6
7
#ifndef MI_NEURAYLIB_ILIGHTPROFILE_H
8
#define MI_NEURAYLIB_ILIGHTPROFILE_H
9
10
#include <
mi/neuraylib/iscene_element.h
>
11
12
namespace
mi {
13
14
namespace
neuraylib {
15
20
class
IReader;
21
33
enum
Lightprofile_flags
{
35
LIGHTPROFILE_CLOCKWISE
= 1,
37
LIGHTPROFILE_COUNTER_CLOCKWISE
= 2,
39
LIGHTPROFILE_ROTATE_TYPE_B
= 4,
41
LIGHTPROFILE_ROTATE_TYPE_C_90_270
= 8,
42
LIGHTPROFILE_FLAGS_FORCE_32_BIT = 0xffffffffU
43
};
44
45
mi_static_assert
(
sizeof
(
Lightprofile_flags
) ==
sizeof
(
Uint32
));
46
53
enum
Lightprofile_degree
{
54
LIGHTPROFILE_HERMITE_BASE_1
= 1,
55
LIGHTPROFILE_HERMITE_BASE_3
= 3,
56
LIGHTPROFILE_DEGREE_FORCE_32_BIT = 0xffffffffU
57
};
58
59
mi_static_assert
(
sizeof
(
Lightprofile_degree
) ==
sizeof
(
Uint32
));
60
70
class
ILightprofile
:
71
public
base::Interface_declare
<0xa4ac11fd,0x705d,0x4a0a,0x80,0x0b,0x38,0xe5,0x3d,0x46,0x96,0x47,
72
neuraylib::IScene_element>
73
{
74
public
:
112
virtual
Sint32
reset_file
(
113
const
char
* filename,
114
Uint32
resolution_phi = 0,
115
Uint32
resolution_theta = 0,
116
Lightprofile_degree
degree =
LIGHTPROFILE_HERMITE_BASE_1
,
117
Uint32
flags =
LIGHTPROFILE_COUNTER_CLOCKWISE
) = 0;
118
155
virtual
Sint32
reset_reader
(
156
IReader
* reader,
157
Uint32
resolution_phi = 0,
158
Uint32
resolution_theta = 0,
159
Lightprofile_degree
degree =
LIGHTPROFILE_HERMITE_BASE_1
,
160
Uint32
flags =
LIGHTPROFILE_COUNTER_CLOCKWISE
) = 0;
161
168
virtual
const
char
*
get_filename
()
const
= 0;
169
175
virtual
const
char
*
get_original_filename
()
const
= 0;
176
178
virtual
Uint32
get_resolution_phi
()
const
= 0;
179
181
virtual
Uint32
get_resolution_theta
()
const
= 0;
182
185
virtual
Lightprofile_degree
get_degree
()
const
= 0;
186
191
virtual
Uint32
get_flags
()
const
= 0;
192
198
virtual
Float32
get_phi
(
Uint32
index)
const
= 0;
199
205
virtual
Float32
get_theta
(
Uint32
index)
const
= 0;
206
214
virtual
const
Float32
*
get_data
()
const
= 0;
215
224
virtual
Float32
get_data
(
Uint32
index_phi,
Uint32
index_theta)
const
= 0;
225
231
virtual
Float64
get_candela_multiplier
()
const
= 0;
232
246
virtual
Float32
sample
(
Float32
phi,
Float32
theta,
bool
candela)
const
= 0;
247
};
248
// end group mi_neuray_misc
250
251
}
// namespace neuraylib
252
253
}
// namespace mi
254
255
#endif // MI_NEURAYLIB_ILIGHTPROFILE_H
20 February 2019, 22:00, revision 315630, Doxygen 1.8.4
© 1986, 2019 NVIDIA Corporation.
All rights reserved.