Blender  V3.3
DNA_shader_fx_types.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #pragma once
8 
9 #include "DNA_defs.h"
10 #include "DNA_listBase.h"
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 struct DRWShadingGroup;
17 
18 /* WARNING ALERT! TYPEDEF VALUES ARE WRITTEN IN FILES! SO DO NOT CHANGE!
19  * (ONLY ADD NEW ITEMS AT THE END)
20  */
21 
22 typedef enum ShaderFxType {
26  eShaderFxType_Light_deprecated = 3, /* DEPRECATED (replaced by scene lights) */
34  /* Keep last. */
37 
38 typedef enum ShaderFxMode {
43  eShaderFxMode_Expanded_DEPRECATED = (1 << 3),
44 #endif
46 
47 typedef enum {
48  /* This fx has been inserted in local override, and hence can be fully edited. */
50 } ShaderFxFlag;
51 
52 typedef struct ShaderFxData {
53  struct ShaderFxData *next, *prev;
54 
55  int type, mode;
56  char _pad0[4];
57  short flag;
58  /* An "expand" bit for each of the constraint's (sub)panels (uiPanelDataExpansion). */
61  char name[64];
62 
63  char *error;
65 
67 typedef struct ShaderFxData_Runtime {
68  float loc[3];
69  char _pad[4];
74 
75 typedef struct BlurShaderFxData {
77  float radius[2];
79  int flag;
81  int samples;
83  float rotation;
84  char _pad[4];
85 
88 
89 typedef enum eBlurShaderFx_Flag {
90  FX_BLUR_DOF_MODE = (1 << 0),
92 
93 typedef struct ColorizeShaderFxData {
95  int mode;
96  float low_color[4];
97  float high_color[4];
98  float factor;
100  int flag;
101  char _pad[4];
102 
105 
106 typedef enum ColorizeShaderFxModes {
113 
114 typedef struct FlipShaderFxData {
117  int flag;
119  int flipmode;
122 
123 typedef enum eFlipShaderFx_Flag {
124  FX_FLIP_HORIZONTAL = (1 << 0),
125  FX_FLIP_VERTICAL = (1 << 1),
127 
128 typedef struct GlowShaderFxData {
130  float glow_color[4];
131  float select_color[3];
132  float threshold;
134  int flag;
135  int mode;
136  float blur[2];
137  int samples;
139  float rotation;
142  char _pad[4];
143 
146 
147 typedef enum GlowShaderFxModes {
151 
152 typedef enum eGlowShaderFx_Flag {
153  FX_GLOW_USE_ALPHA = (1 << 0),
155 
156 typedef struct PixelShaderFxData {
159  int size[3];
161  int flag;
162  float rgba[4];
165 
166 typedef enum ePixelShaderFx_Flag {
169 
170 typedef struct RimShaderFxData {
172  int offset[2];
174  int flag;
175  float rim_rgb[3];
176  float mask_rgb[3];
177  int mode;
178  int blur[2];
179  int samples;
180  char _pad[4];
183 
184 typedef enum RimShaderFxModes {
192 
193 typedef struct ShadowShaderFxData {
195  struct Object *object;
196  int offset[2];
198  int flag;
199  float shadow_rgba[4];
200  float amplitude;
201  float period;
202  float phase;
204  float scale[2];
205  float rotation;
206  int blur[2];
207  int samples;
208  char _pad[4];
211 
212 typedef enum eShadowShaderFx_Flag {
214  FX_SHADOW_USE_WAVE = (1 << 1),
216 
217 typedef struct SwirlShaderFxData {
219  struct Object *object;
221  int flag;
222  int radius;
223  float angle;
228 
229 typedef enum eSwirlShaderFx_Flag {
232 
233 typedef struct WaveShaderFxData {
235  float amplitude;
236  float period;
237  float phase;
240  int flag;
241  char _pad[4];
244 
245 #ifdef __cplusplus
246 }
247 #endif
These structs are the foundation for all linked lists in the library system.
eBlurShaderFx_Flag
@ FX_BLUR_DOF_MODE
struct RimShaderFxData RimShaderFxData
ShaderFxFlag
@ eShaderFxFlag_OverrideLibrary_Local
struct GlowShaderFxData GlowShaderFxData
eShadowShaderFx_Flag
@ FX_SHADOW_USE_OBJECT
@ FX_SHADOW_USE_WAVE
ShaderFxMode
@ eShaderFxMode_Realtime
@ eShaderFxMode_Editmode
@ eShaderFxMode_Render
struct FlipShaderFxData FlipShaderFxData
GlowShaderFxModes
@ eShaderFxGlowMode_Luminance
@ eShaderFxGlowMode_Color
ColorizeShaderFxModes
@ eShaderFxColorizeMode_Custom
@ eShaderFxColorizeMode_GrayScale
@ eShaderFxColorizeMode_Transparent
@ eShaderFxColorizeMode_Duotone
@ eShaderFxColorizeMode_Sepia
eSwirlShaderFx_Flag
@ FX_SWIRL_MAKE_TRANSPARENT
struct WaveShaderFxData WaveShaderFxData
struct SwirlShaderFxData SwirlShaderFxData
RimShaderFxModes
@ eShaderFxRimMode_Multiply
@ eShaderFxRimMode_Add
@ eShaderFxRimMode_Normal
@ eShaderFxRimMode_Overlay
@ eShaderFxRimMode_Subtract
@ eShaderFxRimMode_Divide
ePixelShaderFx_Flag
@ FX_PIXEL_FILTER_NEAREST
struct BlurShaderFxData BlurShaderFxData
struct ColorizeShaderFxData ColorizeShaderFxData
struct ShaderFxData ShaderFxData
struct ShaderFxData_Runtime ShaderFxData_Runtime
eFlipShaderFx_Flag
@ FX_FLIP_HORIZONTAL
@ FX_FLIP_VERTICAL
eGlowShaderFx_Flag
@ FX_GLOW_USE_ALPHA
struct ShadowShaderFxData ShadowShaderFxData
ShaderFxType
@ eShaderFxType_Pixel
@ eShaderFxType_Rim
@ eShaderFxType_None
@ eShaderFxType_Swirl
@ eShaderFxType_Glow
@ eShaderFxType_Light_deprecated
@ eShaderFxType_Flip
@ NUM_SHADER_FX_TYPES
@ eShaderFxType_Blur
@ eShaderFxType_Shadow
@ eShaderFxType_Colorize
@ eShaderFxType_Wave
struct PixelShaderFxData PixelShaderFxData
#define DNA_DEPRECATED_ALLOW
Definition: action.c:16
ShaderFxData_Runtime runtime
ShaderFxData_Runtime runtime
ShaderFxData_Runtime runtime
ShaderFxData_Runtime runtime
ShaderFxData_Runtime runtime
ShaderFxData_Runtime runtime
struct DRWShadingGroup * fx_sh_b
struct DRWShadingGroup * fx_sh_c
struct DRWShadingGroup * fx_sh
struct ShaderFxData * prev
struct ShaderFxData * next
struct Object * object
ShaderFxData_Runtime runtime
struct Object * object
ShaderFxData_Runtime runtime
ShaderFxData_Runtime runtime