Blender V5.0
DNA_light_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "DNA_ID.h"
12#include "DNA_defs.h"
13
14#ifndef MAX_MTEX
15# define MAX_MTEX 18
16#endif
17
18struct AnimData;
19struct bNodeTree;
20
21typedef struct Light {
22#ifdef __cplusplus
25 static constexpr ID_Type id_type = ID_LA;
26#endif
27
30 struct AnimData *adt;
31
32 /* Type and flags. */
33 short type, flag;
34 int mode;
35
36 /* Color, temperature and energy. */
37 float r, g, b;
39 float energy;
40 float exposure;
41
42 /* Point light. */
43 float radius;
44
45 /* Spot Light. */
46 float spotsize;
47 float spotblend;
48
49 /* Area light. */
51 short _pad1;
52 float area_size;
56
57 /* Sun light. */
58 float sun_angle;
59
60 /* Nodes. */
62
63 /* Eevee */
64 float clipsta;
66
71
72 float diff_fac;
73 float spec_fac;
76
77 float att_dist;
81
82 /* Preview */
84
85 /* Nodes */
87
88 /* Deprecated. */
89 float energy_deprecated DNA_DEPRECATED;
90 float _pad2;
92
93/* **************** LIGHT ********************* */
94
96enum {
97 LA_DS_EXPAND = 1 << 0,
103};
104
106enum {
110 // LA_HEMI = 3, /* Deprecated. */
112};
113
115enum {
116 LA_SHADOW = 1 << 0,
117 // LA_HALO = 1 << 1, /* Deprecated. */
118 // LA_LAYER = 1 << 2, /* Deprecated. */
119 // LA_QUAD = 1 << 3, /* Deprecated. */
120 // LA_NEG = 1 << 4, /* Deprecated. */
121 // LA_ONLYSHADOW = 1 << 5, /* Deprecated. */
122 // LA_SPHERE = 1 << 6, /* Deprecated. */
123 LA_SQUARE = 1 << 7,
124 // LA_TEXTURE = 1 << 8, /* Deprecated. */
125 // LA_OSATEX = 1 << 9, /* Deprecated. */
126 // LA_DEEP_SHADOW = 1 << 10, /* Deprecated. */
127 // LA_NO_DIFF = 1 << 11, /* Deprecated. */
128 // LA_NO_SPEC = 1 << 12, /* Deprecated. */
129 LA_SHAD_RAY = 1 << 13, /* Deprecated, cleaned. */
134 // LA_YF_SOFT = 1 << 14, /* Deprecated. */
135 // LA_LAYER_SHADOW = 1 << 15, /* Deprecated. */
136 // LA_SHAD_TEX = 1 << 16, /* Deprecated. */
137 LA_SHOW_CONE = 1 << 17,
138 // LA_SHOW_SHADOW_BOX = 1 << 18,
139 // LA_SHAD_CONTACT = 1 << 19, /* Deprecated. */
147};
148
150enum {
157};
158
160enum {
163 // LA_AREA_CUBE = 2, /* Deprecated. */
164 // LA_AREA_BOX = 3, /* Deprecated. */
167};
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_LA
#define DNA_DEFINE_CXX_METHODS(class_name)
Definition DNA_defs.h:66
@ LA_AREA
@ LA_LOCAL
@ LA_SPOT
@ LA_SUN
@ LA_USE_TEMPERATURE
@ LA_SHAD_RES_ABSOLUTE
@ LA_CUSTOM_ATTENUATION
@ LA_SQUARE
@ LA_SHOW_CONE
@ LA_UNNORMALIZED
@ LA_SHADOW_JITTER
@ LA_SHADOW
@ LA_SHAD_RAY
@ LA_USE_SOFT_FALLOFF
@ LA_AREA_ELLIPSE
@ LA_AREA_SQUARE
@ LA_AREA_RECT
@ LA_AREA_DISK
@ LA_DS_EXPAND
@ LA_DS_SHOW_TEXS
@ LA_FALLOFF_CONSTANT
@ LA_FALLOFF_INVCOEFFICIENTS
@ LA_FALLOFF_INVSQUARE
@ LA_FALLOFF_SLIDERS
@ LA_FALLOFF_INVLINEAR
@ LA_FALLOFF_CURVE
Definition DNA_ID.h:414
float cascade_exponent
float sun_angle
float energy
float att_dist
float shadow_filter_radius
struct PreviewImage * preview
float temperature
float clipend_deprecated
float area_sizez
float shadow_jitter_overblur
int cascade_count
float area_spread
float transmission_fac
struct AnimData * adt
float spec_fac
short use_nodes
float area_sizey
short area_shape
float clipsta
float energy_deprecated DNA_DEPRECATED
float spotblend
short _pad1
float spotsize
float exposure
struct bNodeTree * nodetree
float _pad2
float radius
float area_size
float cascade_max_dist
float cascade_fade
float volume_fac
float shadow_maximum_resolution
short type
short pr_texture
float diff_fac
short flag