Blender
V2.93
source
blender
makesdna
DNA_light_types.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*
16
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
17
* All rights reserved.
18
*/
19
24
#pragma once
25
26
#include "
DNA_ID.h
"
27
#include "
DNA_defs.h
"
28
29
#ifdef __cplusplus
30
extern
"C"
{
31
#endif
32
33
#ifndef MAX_MTEX
34
# define MAX_MTEX 18
35
#endif
36
37
struct
AnimData
;
38
struct
CurveMapping
;
39
struct
Ipo
;
40
struct
bNodeTree
;
41
42
typedef
struct
Light
{
43
ID
id
;
45
struct
AnimData
*
adt
;
46
47
short
type
,
flag
;
48
int
mode
;
49
50
float
r
,
g
,
b
,
k
;
51
float
shdwr
,
shdwg
,
shdwb
,
shdwpad
;
52
53
float
energy
,
dist
,
spotsize
,
spotblend
;
54
56
float
att1
,
att2
;
57
float
coeff_const
,
coeff_lin
,
coeff_quad
;
58
char
_pad0
[4];
59
struct
CurveMapping
*
curfalloff
;
60
short
falloff_type
;
61
char
_pad2
[2];
62
63
float
clipsta
,
clipend
;
64
float
bias
;
65
float
soft
;
/* DEPRECATED kept for compatibility. */
66
float
bleedbias
;
/* DEPRECATED kept for compatibility. */
67
float
bleedexp
;
/* DEPRECATED kept for compatibility. */
68
short
bufsize
,
samp
,
buffers
,
filtertype
;
69
char
bufflag
,
buftype
;
70
71
short
area_shape
;
72
float
area_size
,
area_sizey
,
area_sizez
;
73
float
area_spread
;
74
75
float
sun_angle
;
76
77
/* texact is for buttons */
78
short
texact
,
shadhalostep
;
79
81
struct
Ipo
*ipo
DNA_DEPRECATED
;
82
short
pr_texture
,
use_nodes
;
83
char
_pad6
[4];
84
85
/* Eevee */
86
float
cascade_max_dist
;
87
float
cascade_exponent
;
88
float
cascade_fade
;
89
int
cascade_count
;
90
91
float
contact_dist
;
92
float
contact_bias
;
93
float
contact_spread
;
/* DEPRECATED kept for compatibility. */
94
float
contact_thickness
;
95
96
float
diff_fac
,
volume_fac
;
97
float
spec_fac
,
att_dist
;
98
99
/* preview */
100
struct
PreviewImage
*
preview
;
101
102
/* nodes */
103
struct
bNodeTree
*
nodetree
;
104
}
Light
;
105
106
/* **************** LIGHT ********************* */
107
108
/* flag */
109
#define LA_DS_EXPAND (1 << 0)
110
/* NOTE: this must have the same value as MA_DS_SHOW_TEXS,
111
* otherwise anim-editors will not read correctly
112
*/
113
#define LA_DS_SHOW_TEXS (1 << 2)
114
115
/* type */
116
#define LA_LOCAL 0
117
#define LA_SUN 1
118
#define LA_SPOT 2
119
/* #define LA_HEMI 3 */
/* not used anymore */
120
#define LA_AREA 4
121
122
/* mode */
123
#define LA_SHADOW (1 << 0)
124
/* #define LA_HALO (1 << 1) */
/* not used anymore */
125
/* #define LA_LAYER (1 << 2) */
/* not used anymore */
126
/* #define LA_QUAD (1 << 3) */
/* not used anymore */
127
/* #define LA_NEG (1 << 4) */
/* not used anymore */
128
/* #define LA_ONLYSHADOW(1 << 5) */
/* not used anymore */
129
/* #define LA_SPHERE (1 << 6) */
/* not used anymore */
130
#define LA_SQUARE (1 << 7)
131
/* #define LA_TEXTURE (1 << 8) */
/* not used anymore */
132
/* #define LA_OSATEX (1 << 9) */
/* not used anymore */
133
/* #define LA_DEEP_SHADOW (1 << 10) */
/* not used anywhere */
134
/* #define LA_NO_DIFF (1 << 11) */
/* not used anywhere */
135
/* #define LA_NO_SPEC (1 << 12) */
/* not used anywhere */
136
/* #define LA_SHAD_RAY (1 << 13) */
/* not used anywhere - cleaned */
137
/* yafray: light shadowbuffer flag, softlight */
138
/* Since it is used with LOCAL light, can't use LA_SHAD */
139
/* #define LA_YF_SOFT (1 << 14) */
/* not used anymore */
140
/* #define LA_LAYER_SHADOW (1 << 15) */
/* not used anymore */
141
/* #define LA_SHAD_TEX (1 << 16) */
/* not used anymore */
142
#define LA_SHOW_CONE (1 << 17)
143
/* #define LA_SHOW_SHADOW_BOX (1 << 18) */
144
#define LA_SHAD_CONTACT (1 << 19)
145
#define LA_CUSTOM_ATTENUATION (1 << 20)
146
147
/* falloff_type */
148
#define LA_FALLOFF_CONSTANT 0
149
#define LA_FALLOFF_INVLINEAR 1
150
#define LA_FALLOFF_INVSQUARE 2
151
#define LA_FALLOFF_CURVE 3
152
#define LA_FALLOFF_SLIDERS 4
153
#define LA_FALLOFF_INVCOEFFICIENTS 5
154
155
/* area shape */
156
#define LA_AREA_SQUARE 0
157
#define LA_AREA_RECT 1
158
/* #define LA_AREA_CUBE 2 */
/* UNUSED */
159
/* #define LA_AREA_BOX 3 */
/* UNUSED */
160
#define LA_AREA_DISK 4
161
#define LA_AREA_ELLIPSE 5
162
163
#ifdef __cplusplus
164
}
165
#endif
DNA_ID.h
ID and Library types, which are fundamental for sdna.
DNA_defs.h
Light
struct Light Light
AnimData
Definition:
DNA_anim_types.h:1083
CurveMapping
Definition:
DNA_color_types.h:75
ID
Definition:
DNA_ID.h:273
Ipo
Definition:
DNA_ipo_types.h:99
Light
Definition:
DNA_light_types.h:42
Light::coeff_const
float coeff_const
Definition:
DNA_light_types.h:57
Light::att2
float att2
Definition:
DNA_light_types.h:56
Light::contact_thickness
float contact_thickness
Definition:
DNA_light_types.h:94
Light::coeff_lin
float coeff_lin
Definition:
DNA_light_types.h:57
Light::cascade_exponent
float cascade_exponent
Definition:
DNA_light_types.h:87
Light::sun_angle
float sun_angle
Definition:
DNA_light_types.h:75
Light::r
float r
Definition:
DNA_light_types.h:50
Light::contact_dist
float contact_dist
Definition:
DNA_light_types.h:91
Light::energy
float energy
Definition:
DNA_light_types.h:53
Light::bufsize
short bufsize
Definition:
DNA_light_types.h:68
Light::shdwpad
float shdwpad
Definition:
DNA_light_types.h:51
Light::id
ID id
Definition:
DNA_light_types.h:43
Light::att_dist
float att_dist
Definition:
DNA_light_types.h:97
Light::texact
short texact
Definition:
DNA_light_types.h:78
Light::bufflag
char bufflag
Definition:
DNA_light_types.h:69
Light::preview
struct PreviewImage * preview
Definition:
DNA_light_types.h:100
Light::coeff_quad
float coeff_quad
Definition:
DNA_light_types.h:57
Light::dist
float dist
Definition:
DNA_light_types.h:53
Light::clipend
float clipend
Definition:
DNA_light_types.h:63
Light::att1
float att1
Definition:
DNA_light_types.h:56
Light::shadhalostep
short shadhalostep
Definition:
DNA_light_types.h:78
Light::area_sizez
float area_sizez
Definition:
DNA_light_types.h:72
Light::cascade_count
int cascade_count
Definition:
DNA_light_types.h:89
Light::_pad2
char _pad2[2]
Definition:
DNA_light_types.h:61
Light::area_spread
float area_spread
Definition:
DNA_light_types.h:73
Light::adt
struct AnimData * adt
Definition:
DNA_light_types.h:45
Light::spec_fac
float spec_fac
Definition:
DNA_light_types.h:97
Light::use_nodes
short use_nodes
Definition:
DNA_light_types.h:82
Light::contact_spread
float contact_spread
Definition:
DNA_light_types.h:93
Light::bleedbias
float bleedbias
Definition:
DNA_light_types.h:66
Light::bleedexp
float bleedexp
Definition:
DNA_light_types.h:67
Light::_pad0
char _pad0[4]
Definition:
DNA_light_types.h:58
Light::soft
float soft
Definition:
DNA_light_types.h:65
Light::area_sizey
float area_sizey
Definition:
DNA_light_types.h:72
Light::_pad6
char _pad6[4]
Definition:
DNA_light_types.h:83
Light::samp
short samp
Definition:
DNA_light_types.h:68
Light::shdwg
float shdwg
Definition:
DNA_light_types.h:51
Light::area_shape
short area_shape
Definition:
DNA_light_types.h:71
Light::buftype
char buftype
Definition:
DNA_light_types.h:69
Light::clipsta
float clipsta
Definition:
DNA_light_types.h:63
Light::spotblend
float spotblend
Definition:
DNA_light_types.h:53
Light::g
float g
Definition:
DNA_light_types.h:50
Light::falloff_type
short falloff_type
Definition:
DNA_light_types.h:60
Light::contact_bias
float contact_bias
Definition:
DNA_light_types.h:92
Light::spotsize
float spotsize
Definition:
DNA_light_types.h:53
Light::curfalloff
struct CurveMapping * curfalloff
Definition:
DNA_light_types.h:59
Light::nodetree
struct bNodeTree * nodetree
Definition:
DNA_light_types.h:103
Light::mode
int mode
Definition:
DNA_light_types.h:48
Light::area_size
float area_size
Definition:
DNA_light_types.h:72
Light::cascade_max_dist
float cascade_max_dist
Definition:
DNA_light_types.h:86
Light::filtertype
short filtertype
Definition:
DNA_light_types.h:68
Light::k
float k
Definition:
DNA_light_types.h:50
Light::shdwr
float shdwr
Definition:
DNA_light_types.h:51
Light::b
float b
Definition:
DNA_light_types.h:50
Light::shdwb
float shdwb
Definition:
DNA_light_types.h:51
Light::cascade_fade
float cascade_fade
Definition:
DNA_light_types.h:88
Light::volume_fac
float volume_fac
Definition:
DNA_light_types.h:96
Light::type
short type
Definition:
DNA_light_types.h:47
Light::pr_texture
short pr_texture
Definition:
DNA_light_types.h:82
Light::bias
float bias
Definition:
DNA_light_types.h:64
Light::diff_fac
float diff_fac
Definition:
DNA_light_types.h:96
Light::buffers
short buffers
Definition:
DNA_light_types.h:68
Light::flag
short flag
Definition:
DNA_light_types.h:47
Light::DNA_DEPRECATED
struct Ipo *ipo DNA_DEPRECATED
Definition:
DNA_light_types.h:81
PreviewImage
Definition:
DNA_ID.h:389
bNodeTree
Definition:
DNA_node_types.h:426
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1