Blender V4.3
types_spectrum.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#ifndef __UTIL_TYPES_SPECTRUM_H__
6#define __UTIL_TYPES_SPECTRUM_H__
7
8#ifndef __UTIL_TYPES_H__
9# error "Do not include this file directly, include util/types.h instead."
10#endif
11
13
14#define SPECTRUM_CHANNELS 3
15#define SPECTRUM_DATA_TYPE float3
16#define PACKED_SPECTRUM_DATA_TYPE packed_float3
17
20
21#define make_spectrum(f) CONCAT(make_, SPECTRUM_DATA_TYPE(f))
22#define load_spectrum(f) CONCAT(load_, SPECTRUM_DATA_TYPE(f))
23#define store_spectrum(s, f) CONCAT(store_, SPECTRUM_DATA_TYPE((s), (f)))
24
25#define zero_spectrum CONCAT(zero_, SPECTRUM_DATA_TYPE)
26#define one_spectrum CONCAT(one_, SPECTRUM_DATA_TYPE)
27
28#define FOREACH_SPECTRUM_CHANNEL(counter) \
29 for (int counter = 0; counter < SPECTRUM_CHANNELS; counter++)
30
31#define GET_SPECTRUM_CHANNEL(v, i) (((ccl_private float *)(&(v)))[i])
32
34
35#endif /* __UTIL_TYPES_SPECTRUM_H__ */
#define CCL_NAMESPACE_END
#define PACKED_SPECTRUM_DATA_TYPE
PACKED_SPECTRUM_DATA_TYPE PackedSpectrum
#define SPECTRUM_DATA_TYPE
SPECTRUM_DATA_TYPE Spectrum