Blender
V3.3
source
blender
makesdna
DNA_image_types.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later
2
* Copyright 2001-2002 NaN Holding BV. All rights reserved. */
3
8
#pragma once
9
10
#include "
DNA_ID.h
"
11
#include "
DNA_color_types.h
"
/* for color management */
12
#include "
DNA_defs.h
"
13
14
#ifdef __cplusplus
15
extern
"C"
{
16
#endif
17
18
struct
GPUTexture
;
19
struct
MovieCache
;
20
struct
PackedFile
;
21
struct
RenderResult
;
22
struct
Scene
;
23
struct
anim
;
24
25
/* ImageUser is in Texture, in Nodes, Background Image, Image Window, .... */
26
/* should be used in conjunction with an ID * to Image. */
27
typedef
struct
ImageUser
{
29
struct
Scene
*
scene
;
30
32
int
framenr
;
34
int
frames
;
36
int
offset
,
sfra
;
38
char
cycl
;
39
41
char
multiview_eye
;
42
short
pass
;
43
44
int
tile
;
45
47
short
multi_index
,
view
,
layer
;
48
short
flag
;
49
}
ImageUser
;
50
51
typedef
struct
ImageAnim
{
52
struct
ImageAnim
*
next
, *
prev
;
53
struct
anim
*
anim
;
54
}
ImageAnim
;
55
56
typedef
struct
ImageView
{
57
struct
ImageView
*
next
, *
prev
;
59
char
name
[64];
61
char
filepath
[1024];
62
}
ImageView
;
63
64
typedef
struct
ImagePackedFile
{
65
struct
ImagePackedFile
*
next
, *
prev
;
66
struct
PackedFile
*
packedfile
;
67
68
/* Which view and tile this ImagePackedFile represents. Normal images will use 0 and 1001
69
* respectively when creating their ImagePackedFile. Must be provided for each packed image. */
70
int
view
;
71
int
tile_number
;
73
char
filepath
[1024];
74
}
ImagePackedFile
;
75
76
typedef
struct
RenderSlot
{
77
struct
RenderSlot
*
next
, *
prev
;
79
char
name
[64];
80
struct
RenderResult
*
render
;
81
}
RenderSlot
;
82
83
typedef
struct
ImageTile_Runtime
{
84
int
tilearray_layer
;
85
int
_pad
;
86
int
tilearray_offset
[2];
87
int
tilearray_size
[2];
88
}
ImageTile_Runtime
;
89
90
typedef
struct
ImageTile
{
91
struct
ImageTile
*
next
, *
prev
;
92
93
struct
ImageTile_Runtime
runtime
;
94
95
char
_pad
[4];
96
int
tile_number
;
97
char
label
[64];
98
}
ImageTile
;
99
100
/* iuser->flag */
101
#define IMA_ANIM_ALWAYS (1 << 0)
102
/* #define IMA_UNUSED_1 (1 << 1) */
103
/* #define IMA_UNUSED_2 (1 << 2) */
104
#define IMA_NEED_FRAME_RECALC (1 << 3)
105
#define IMA_SHOW_STEREO (1 << 4)
106
/* #define IMA_UNUSED_5 (1 << 5) */
107
108
/* Used to get the correct gpu texture from an Image datablock. */
109
typedef
enum
eGPUTextureTarget
{
110
TEXTARGET_2D
= 0,
111
TEXTARGET_2D_ARRAY
,
112
TEXTARGET_TILE_MAPPING
,
113
TEXTARGET_COUNT
,
114
}
eGPUTextureTarget
;
115
116
/* Defined in BKE_image.h. */
117
struct
PartialUpdateRegister;
118
struct
PartialUpdateUser;
119
120
typedef
struct
Image_Runtime
{
121
/* Mutex used to guarantee thread-safe access to the cached ImBuf of the corresponding image ID.
122
*/
123
void
*
cache_mutex
;
124
126
struct
PartialUpdateRegister *
partial_update_register
;
128
struct
PartialUpdateUser *
partial_update_user
;
129
130
}
Image_Runtime
;
131
132
typedef
struct
Image
{
133
ID
id
;
134
136
char
filepath
[1024];
137
139
struct
MovieCache
*
cache
;
141
struct
GPUTexture
*
gputexture
[3][2];
142
143
/* sources from: */
144
ListBase
anims
;
145
struct
RenderResult
*
rr
;
146
147
ListBase
renderslots
;
148
short
render_slot
,
last_render_slot
;
149
150
int
flag
;
151
short
source
,
type
;
152
int
lastframe
;
153
154
/* GPU texture flag. */
155
int
gpuframenr
;
156
short
gpuflag
;
157
short
gpu_pass
;
158
short
gpu_layer
;
159
short
gpu_view
;
160
char
_pad2
[4];
161
163
struct
PackedFile
*packedfile
DNA_DEPRECATED
;
164
struct
ListBase
packedfiles
;
165
struct
PreviewImage
*
preview
;
166
167
int
lastused
;
168
169
/* for generated images */
170
int
gen_x
,
gen_y
;
171
char
gen_type
,
gen_flag
;
172
short
gen_depth
;
173
float
gen_color
[4];
174
175
/* display aspect - for UV editing images resized for faster openGL display */
176
float
aspx
,
aspy
;
177
178
/* color management */
179
ColorManagedColorspaceSettings
colorspace_settings
;
180
char
alpha_mode
;
181
182
char
_pad
;
183
184
/* Multiview */
186
char
eye
;
187
char
views_format
;
188
189
/* ImageTile list for UDIMs. */
190
int
active_tile_index
;
191
ListBase
tiles
;
192
194
ListBase
views
;
195
struct
Stereo3dFormat
*
stereo3d_format
;
196
197
Image_Runtime
runtime
;
198
}
Image
;
199
200
/* **************** IMAGE ********************* */
201
203
enum
{
204
IMA_HIGH_BITDEPTH
= (1 << 0),
205
IMA_FLAG_UNUSED_1
= (1 << 1),
/* cleared */
206
#ifdef DNA_DEPRECATED_ALLOW
207
IMA_DO_PREMUL = (1 << 2),
208
#endif
209
IMA_FLAG_UNUSED_4
= (1 << 4),
/* cleared */
210
IMA_NOCOLLECT
= (1 << 5),
211
IMA_FLAG_UNUSED_6
= (1 << 6),
/* cleared */
212
IMA_OLD_PREMUL
= (1 << 7),
213
IMA_FLAG_UNUSED_8
= (1 << 8),
/* cleared */
214
IMA_USED_FOR_RENDER
= (1 << 9),
216
IMA_USER_FRAME_IN_RANGE
= (1 << 10),
217
IMA_VIEW_AS_RENDER
= (1 << 11),
218
IMA_FLAG_UNUSED_12
= (1 << 12),
/* cleared */
219
IMA_DEINTERLACE
= (1 << 13),
220
IMA_USE_VIEWS
= (1 << 14),
221
IMA_FLAG_UNUSED_15
= (1 << 15),
/* cleared */
222
IMA_FLAG_UNUSED_16
= (1 << 16),
/* cleared */
223
};
224
226
enum
{
228
IMA_GPU_MIPMAP_COMPLETE
= (1 << 0),
229
};
230
231
/* Image.source, where the image comes from */
232
typedef
enum
eImageSource
{
233
/* IMA_SRC_CHECK = 0, */
/* UNUSED */
234
IMA_SRC_FILE
= 1,
235
IMA_SRC_SEQUENCE
= 2,
236
IMA_SRC_MOVIE
= 3,
237
IMA_SRC_GENERATED
= 4,
238
IMA_SRC_VIEWER
= 5,
239
IMA_SRC_TILED
= 6,
240
}
eImageSource
;
241
242
/* Image.type, how to handle or generate the image */
243
typedef
enum
eImageType
{
244
IMA_TYPE_IMAGE
= 0,
245
IMA_TYPE_MULTILAYER
= 1,
246
/* generated */
247
IMA_TYPE_UV_TEST
= 2,
248
/* viewers */
249
IMA_TYPE_R_RESULT
= 4,
250
IMA_TYPE_COMPOSITE
= 5,
251
}
eImageType
;
252
254
enum
{
255
IMA_GENTYPE_BLANK
= 0,
256
IMA_GENTYPE_GRID
= 1,
257
IMA_GENTYPE_GRID_COLOR
= 2,
258
};
259
260
/* render */
261
#define IMA_MAX_RENDER_TEXT (1 << 9)
262
264
enum
{
265
IMA_GEN_FLOAT
= 1,
266
};
267
269
enum
{
270
IMA_ALPHA_STRAIGHT
= 0,
271
IMA_ALPHA_PREMUL
= 1,
272
IMA_ALPHA_CHANNEL_PACKED
= 2,
273
IMA_ALPHA_IGNORE
= 3,
274
};
275
276
#ifdef __cplusplus
277
}
278
#endif
DNA_ID.h
ID and Library types, which are fundamental for sdna.
DNA_color_types.h
DNA_defs.h
ImageTile_Runtime
struct ImageTile_Runtime ImageTile_Runtime
IMA_GPU_MIPMAP_COMPLETE
@ IMA_GPU_MIPMAP_COMPLETE
Definition:
DNA_image_types.h:228
ImageTile
struct ImageTile ImageTile
IMA_GENTYPE_GRID_COLOR
@ IMA_GENTYPE_GRID_COLOR
Definition:
DNA_image_types.h:257
IMA_GENTYPE_GRID
@ IMA_GENTYPE_GRID
Definition:
DNA_image_types.h:256
IMA_GENTYPE_BLANK
@ IMA_GENTYPE_BLANK
Definition:
DNA_image_types.h:255
ImageAnim
struct ImageAnim ImageAnim
IMA_FLAG_UNUSED_16
@ IMA_FLAG_UNUSED_16
Definition:
DNA_image_types.h:222
IMA_FLAG_UNUSED_8
@ IMA_FLAG_UNUSED_8
Definition:
DNA_image_types.h:213
IMA_NOCOLLECT
@ IMA_NOCOLLECT
Definition:
DNA_image_types.h:210
IMA_FLAG_UNUSED_6
@ IMA_FLAG_UNUSED_6
Definition:
DNA_image_types.h:211
IMA_DEINTERLACE
@ IMA_DEINTERLACE
Definition:
DNA_image_types.h:219
IMA_USED_FOR_RENDER
@ IMA_USED_FOR_RENDER
Definition:
DNA_image_types.h:214
IMA_FLAG_UNUSED_12
@ IMA_FLAG_UNUSED_12
Definition:
DNA_image_types.h:218
IMA_FLAG_UNUSED_1
@ IMA_FLAG_UNUSED_1
Definition:
DNA_image_types.h:205
IMA_FLAG_UNUSED_15
@ IMA_FLAG_UNUSED_15
Definition:
DNA_image_types.h:221
IMA_HIGH_BITDEPTH
@ IMA_HIGH_BITDEPTH
Definition:
DNA_image_types.h:204
IMA_USER_FRAME_IN_RANGE
@ IMA_USER_FRAME_IN_RANGE
Definition:
DNA_image_types.h:216
IMA_USE_VIEWS
@ IMA_USE_VIEWS
Definition:
DNA_image_types.h:220
IMA_FLAG_UNUSED_4
@ IMA_FLAG_UNUSED_4
Definition:
DNA_image_types.h:209
IMA_OLD_PREMUL
@ IMA_OLD_PREMUL
Definition:
DNA_image_types.h:212
IMA_VIEW_AS_RENDER
@ IMA_VIEW_AS_RENDER
Definition:
DNA_image_types.h:217
IMA_GEN_FLOAT
@ IMA_GEN_FLOAT
Definition:
DNA_image_types.h:265
Image_Runtime
struct Image_Runtime Image_Runtime
IMA_ALPHA_IGNORE
@ IMA_ALPHA_IGNORE
Definition:
DNA_image_types.h:273
IMA_ALPHA_STRAIGHT
@ IMA_ALPHA_STRAIGHT
Definition:
DNA_image_types.h:270
IMA_ALPHA_PREMUL
@ IMA_ALPHA_PREMUL
Definition:
DNA_image_types.h:271
IMA_ALPHA_CHANNEL_PACKED
@ IMA_ALPHA_CHANNEL_PACKED
Definition:
DNA_image_types.h:272
eImageSource
eImageSource
Definition:
DNA_image_types.h:232
IMA_SRC_FILE
@ IMA_SRC_FILE
Definition:
DNA_image_types.h:234
IMA_SRC_MOVIE
@ IMA_SRC_MOVIE
Definition:
DNA_image_types.h:236
IMA_SRC_GENERATED
@ IMA_SRC_GENERATED
Definition:
DNA_image_types.h:237
IMA_SRC_VIEWER
@ IMA_SRC_VIEWER
Definition:
DNA_image_types.h:238
IMA_SRC_TILED
@ IMA_SRC_TILED
Definition:
DNA_image_types.h:239
IMA_SRC_SEQUENCE
@ IMA_SRC_SEQUENCE
Definition:
DNA_image_types.h:235
ImageUser
struct ImageUser ImageUser
ImageView
struct ImageView ImageView
eImageType
eImageType
Definition:
DNA_image_types.h:243
IMA_TYPE_MULTILAYER
@ IMA_TYPE_MULTILAYER
Definition:
DNA_image_types.h:245
IMA_TYPE_UV_TEST
@ IMA_TYPE_UV_TEST
Definition:
DNA_image_types.h:247
IMA_TYPE_R_RESULT
@ IMA_TYPE_R_RESULT
Definition:
DNA_image_types.h:249
IMA_TYPE_COMPOSITE
@ IMA_TYPE_COMPOSITE
Definition:
DNA_image_types.h:250
IMA_TYPE_IMAGE
@ IMA_TYPE_IMAGE
Definition:
DNA_image_types.h:244
ImagePackedFile
struct ImagePackedFile ImagePackedFile
Image
struct Image Image
RenderSlot
struct RenderSlot RenderSlot
eGPUTextureTarget
eGPUTextureTarget
Definition:
DNA_image_types.h:109
TEXTARGET_2D
@ TEXTARGET_2D
Definition:
DNA_image_types.h:110
TEXTARGET_2D_ARRAY
@ TEXTARGET_2D_ARRAY
Definition:
DNA_image_types.h:111
TEXTARGET_COUNT
@ TEXTARGET_COUNT
Definition:
DNA_image_types.h:113
TEXTARGET_TILE_MAPPING
@ TEXTARGET_TILE_MAPPING
Definition:
DNA_image_types.h:112
GPUTexture
struct GPUTexture GPUTexture
Definition:
GPU_texture.h:17
Image
Definition:
imbuf/intern/dds/Image.h:22
Image::gpuflag
short gpuflag
Definition:
DNA_image_types.h:156
Image::cache
struct MovieCache * cache
Definition:
DNA_image_types.h:139
Image::packedfiles
struct ListBase packedfiles
Definition:
DNA_image_types.h:164
Image::preview
struct PreviewImage * preview
Definition:
DNA_image_types.h:165
Image::_pad
char _pad
Definition:
DNA_image_types.h:182
Image::gen_type
char gen_type
Definition:
DNA_image_types.h:171
Image::flag
int flag
Definition:
DNA_image_types.h:150
Image::last_render_slot
short last_render_slot
Definition:
DNA_image_types.h:148
Image::runtime
Image_Runtime runtime
Definition:
DNA_image_types.h:197
Image::anims
ListBase anims
Definition:
DNA_image_types.h:144
Image::colorspace_settings
ColorManagedColorspaceSettings colorspace_settings
Definition:
DNA_image_types.h:179
Image::lastused
int lastused
Definition:
DNA_image_types.h:167
Image::aspy
float aspy
Definition:
DNA_image_types.h:176
Image::gen_x
int gen_x
Definition:
DNA_image_types.h:170
Image::gpu_pass
short gpu_pass
Definition:
DNA_image_types.h:157
Image::renderslots
ListBase renderslots
Definition:
DNA_image_types.h:147
Image::gpu_layer
short gpu_layer
Definition:
DNA_image_types.h:158
Image::views_format
char views_format
Definition:
DNA_image_types.h:187
Image::gpu_view
short gpu_view
Definition:
DNA_image_types.h:159
Image::filepath
char filepath[1024]
Definition:
DNA_image_types.h:136
Image::gpuframenr
int gpuframenr
Definition:
DNA_image_types.h:155
Image::eye
char eye
Definition:
DNA_image_types.h:186
Image::tiles
ListBase tiles
Definition:
DNA_image_types.h:191
Image::type
short type
Definition:
DNA_image_types.h:151
Image::gputexture
struct GPUTexture * gputexture[3][2]
Definition:
DNA_image_types.h:141
Image::source
short source
Definition:
DNA_image_types.h:151
Image::render_slot
short render_slot
Definition:
DNA_image_types.h:148
Image::aspx
float aspx
Definition:
DNA_image_types.h:176
Image::id
ID id
Definition:
DNA_image_types.h:133
Image::gen_depth
short gen_depth
Definition:
DNA_image_types.h:172
Image::rr
struct RenderResult * rr
Definition:
DNA_image_types.h:145
Image::gen_flag
char gen_flag
Definition:
DNA_image_types.h:171
Image::views
ListBase views
Definition:
DNA_image_types.h:194
Image::alpha_mode
char alpha_mode
Definition:
DNA_image_types.h:180
Image::lastframe
int lastframe
Definition:
DNA_image_types.h:152
Image::_pad2
char _pad2[4]
Definition:
DNA_image_types.h:160
Image::stereo3d_format
struct Stereo3dFormat * stereo3d_format
Definition:
DNA_image_types.h:195
Image::active_tile_index
int active_tile_index
Definition:
DNA_image_types.h:190
Image::gen_y
int gen_y
Definition:
DNA_image_types.h:170
Image::gen_color
float gen_color[4]
Definition:
DNA_image_types.h:173
Image::DNA_DEPRECATED
struct PackedFile *packedfile DNA_DEPRECATED
Definition:
DNA_image_types.h:163
ColorManagedColorspaceSettings
Definition:
DNA_color_types.h:196
ID
Definition:
DNA_ID.h:368
ImageAnim
Definition:
DNA_image_types.h:51
ImageAnim::next
struct ImageAnim * next
Definition:
DNA_image_types.h:52
ImageAnim::anim
struct anim * anim
Definition:
DNA_image_types.h:53
ImageAnim::prev
struct ImageAnim * prev
Definition:
DNA_image_types.h:52
ImagePackedFile
Definition:
DNA_image_types.h:64
ImagePackedFile::tile_number
int tile_number
Definition:
DNA_image_types.h:71
ImagePackedFile::packedfile
struct PackedFile * packedfile
Definition:
DNA_image_types.h:66
ImagePackedFile::next
struct ImagePackedFile * next
Definition:
DNA_image_types.h:65
ImagePackedFile::filepath
char filepath[1024]
Definition:
DNA_image_types.h:73
ImagePackedFile::view
int view
Definition:
DNA_image_types.h:70
ImagePackedFile::prev
struct ImagePackedFile * prev
Definition:
DNA_image_types.h:65
ImageTile_Runtime
Definition:
DNA_image_types.h:83
ImageTile_Runtime::_pad
int _pad
Definition:
DNA_image_types.h:85
ImageTile_Runtime::tilearray_layer
int tilearray_layer
Definition:
DNA_image_types.h:84
ImageTile_Runtime::tilearray_size
int tilearray_size[2]
Definition:
DNA_image_types.h:87
ImageTile_Runtime::tilearray_offset
int tilearray_offset[2]
Definition:
DNA_image_types.h:86
ImageTile
Definition:
DNA_image_types.h:90
ImageTile::prev
struct ImageTile * prev
Definition:
DNA_image_types.h:91
ImageTile::label
char label[64]
Definition:
DNA_image_types.h:97
ImageTile::tile_number
int tile_number
Definition:
DNA_image_types.h:96
ImageTile::next
struct ImageTile * next
Definition:
DNA_image_types.h:91
ImageTile::runtime
struct ImageTile_Runtime runtime
Definition:
DNA_image_types.h:93
ImageTile::_pad
char _pad[4]
Definition:
DNA_image_types.h:95
ImageUser
Definition:
DNA_image_types.h:27
ImageUser::multiview_eye
char multiview_eye
Definition:
DNA_image_types.h:41
ImageUser::cycl
char cycl
Definition:
DNA_image_types.h:38
ImageUser::tile
int tile
Definition:
DNA_image_types.h:44
ImageUser::offset
int offset
Definition:
DNA_image_types.h:36
ImageUser::view
short view
Definition:
DNA_image_types.h:47
ImageUser::sfra
int sfra
Definition:
DNA_image_types.h:36
ImageUser::layer
short layer
Definition:
DNA_image_types.h:47
ImageUser::frames
int frames
Definition:
DNA_image_types.h:34
ImageUser::multi_index
short multi_index
Definition:
DNA_image_types.h:47
ImageUser::framenr
int framenr
Definition:
DNA_image_types.h:32
ImageUser::pass
short pass
Definition:
DNA_image_types.h:42
ImageUser::flag
short flag
Definition:
DNA_image_types.h:48
ImageUser::scene
struct Scene * scene
Definition:
DNA_image_types.h:29
ImageView
Definition:
DNA_image_types.h:56
ImageView::name
char name[64]
Definition:
DNA_image_types.h:59
ImageView::filepath
char filepath[1024]
Definition:
DNA_image_types.h:61
ImageView::next
struct ImageView * next
Definition:
DNA_image_types.h:57
ImageView::prev
struct ImageView * prev
Definition:
DNA_image_types.h:57
Image_Runtime
Definition:
DNA_image_types.h:120
Image_Runtime::partial_update_user
struct PartialUpdateUser * partial_update_user
Partial update user for GPUTextures stored inside the Image.
Definition:
DNA_image_types.h:128
Image_Runtime::partial_update_register
struct PartialUpdateRegister * partial_update_register
Register containing partial updates.
Definition:
DNA_image_types.h:126
Image_Runtime::cache_mutex
void * cache_mutex
Definition:
DNA_image_types.h:123
ListBase
Definition:
DNA_listBase.h:30
MovieCache
Definition:
moviecache.cc:46
PackedFile
Definition:
DNA_packedFile_types.h:14
PreviewImage
Definition:
DNA_ID.h:529
RenderResult
Definition:
RE_pipeline.h:99
RenderSlot
Definition:
DNA_image_types.h:76
RenderSlot::render
struct RenderResult * render
Definition:
DNA_image_types.h:80
RenderSlot::next
struct RenderSlot * next
Definition:
DNA_image_types.h:77
RenderSlot::name
char name[64]
Definition:
DNA_image_types.h:79
RenderSlot::prev
struct RenderSlot * prev
Definition:
DNA_image_types.h:77
Scene
Definition:
DNA_scene_types.h:1739
Stereo3dFormat
Definition:
DNA_scene_types.h:337
anim
Definition:
IMB_anim.h:71
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1