33 {
IMA_GENTYPE_GRID,
"UV_GRID", 0,
"UV Grid",
"Generated grid to test UV mappings"},
38 "Generated improved UV grid to test UV mappings"},
43 {
IMA_SRC_FILE,
"FILE", 0,
"Single Image",
"Single image file"},
44 {
IMA_SRC_SEQUENCE,
"SEQUENCE", 0,
"Image Sequence",
"Multiple image files, as a sequence"},
47 {
IMA_SRC_VIEWER,
"VIEWER", 0,
"Viewer",
"Compositing node viewer"},
48 {
IMA_SRC_TILED,
"TILED", 0,
"UDIM Tiles",
"Tiled UDIM image texture"},
128 rna_Image_colormanage_update(bmain,
scene,
ptr);
174 rna_ImageUser_update(bmain,
scene,
ptr);
199 static void rna_Image_gpu_texture_update(
Main *
UNUSED(bmain),
243 ibuf ? &ibuf->foptions :
NULL);
250 static void rna_Image_file_format_set(
PointerRNA *
ptr,
int value)
260 static void rna_UDIMTile_size_get(
PointerRNA *
ptr,
int *values)
267 image_user.
tile =
tile->tile_number;
290 image_user.
tile =
tile->tile_number;
305 static void rna_UDIMTile_label_get(
PointerRNA *
ptr,
char *value)
323 return strlen(
label);
326 static void rna_UDIMTile_tile_number_set(
PointerRNA *
ptr,
int value)
333 if (cur_tile ==
NULL) {
341 return image->active_tile_index;
344 static void rna_Image_active_tile_index_set(
PointerRNA *
ptr,
int value)
352 static void rna_Image_active_tile_index_range(
378 image->active_tile_index = index;
408 static void rna_Image_resolution_get(
PointerRNA *
ptr,
float *values)
416 values[0] = ibuf->
ppm[0];
417 values[1] = ibuf->
ppm[1];
427 static void rna_Image_resolution_set(
PointerRNA *
ptr,
const float *values)
435 ibuf->
ppm[0] = values[0];
436 ibuf->
ppm[1] = values[1];
462 planes = ibuf->
planes * 4;
515 static void rna_Image_pixels_get(
PointerRNA *
ptr,
float *values)
531 for (i = 0; i <
size; i++) {
532 values[i] = ((
unsigned char *)ibuf->
rect)[i] * (1.0f / 255.0f);
540 static void rna_Image_pixels_set(
PointerRNA *
ptr,
const float *values)
556 for (i = 0; i <
size; i++) {
594 bool is_float =
false;
645 image->render_slot = index;
651 static int rna_render_slots_active_index_get(
PointerRNA *
ptr)
654 return image->render_slot;
657 static void rna_render_slots_active_index_set(
PointerRNA *
ptr,
int value)
661 image->render_slot = value;
666 static void rna_render_slots_active_index_range(
702 "Parameters defining how an Image data-block is used by another data-block");
717 prop,
"Current Frame",
"Current frame number in image sequence or movie");
736 prop,
"Offset",
"Offset the number of the frame to use in the animation");
745 "Global starting frame of the movie/sequence, assuming first picture has a #1");
838 "rna_render_slots_active_index_get",
839 "rna_render_slots_active_index_set",
840 "rna_render_slots_active_index_range");
847 prop,
"rna_render_slots_active_get",
"rna_render_slots_active_set",
NULL,
NULL);
855 parm =
RNA_def_pointer(func,
"result",
"RenderSlot",
"",
"Newly created render layer");
888 "Width and height of the tile buffer in pixels, zero when image data can't be loaded",
917 "rna_Image_active_tile_index_get",
918 "rna_Image_active_tile_index_set",
919 "rna_Image_active_tile_index_range");
925 prop,
"rna_Image_active_tile_get",
"rna_Image_active_tile_set",
NULL,
NULL);
932 func,
"tile_number", 1, 1, INT_MAX,
"",
"Number of the newly created tile", 1, 100);
935 parm =
RNA_def_pointer(func,
"result",
"UDIMTile",
"",
"Newly created image tile");
940 parm =
RNA_def_int(func,
"tile_number", 0, 0, INT_MAX,
"",
"Number of the tile", 0, 100);
947 parm =
RNA_def_pointer(func,
"tile",
"UDIMTile",
"",
"Image tile to remove");
969 "Store RGB and alpha channels separately with alpha acting as a mask, also known as "
970 "unassociated alpha. Commonly used by image editing applications and file formats like "
976 "Store RGB channels with alpha multiplied in, also known as associated alpha. The natural "
977 "format for renders and used by file formats like OpenEXR"},
982 "Different images are packed in the RGB and alpha channels, and they should not "
983 "affect each other. Channel packing is commonly used by game engines to save memory"},
988 "Ignore alpha channel from the file and make image fully opaque"},
994 srna,
"Image",
"Image data-block referencing an external or packed image");
1011 prop,
"rna_Image_file_format_get",
"rna_Image_file_format_set",
NULL);
1044 "Apply render part of display transformation when displaying this image on the screen");
1121 prop,
"Display Aspect",
"Display Aspect for this image, does not affect rendering");
1164 "Width and height of the image buffer in pixels, zero when image data can't be loaded",
1178 "X/Y pixels per meter, for the image buffer",
1187 prop,
"Duration",
"Duration (in frames) of the image (1 when not a video/sequence)");
1210 prop,
"Is Float",
"True if this image is stored in floating-point buffer");
1222 "Representation of alpha in the image file, to convert to and from "
1223 "when saving and loading the image");
1229 "Half Float Precision",
1230 "Use 16 bits per channel to lower the memory usage during rendering");
bool BKE_image_remove_tile(struct Image *ima, struct ImageTile *tile)
void BKE_image_release_ibuf(struct Image *ima, struct ImBuf *ibuf, void *lock)
struct ImBuf * BKE_image_acquire_ibuf(struct Image *ima, struct ImageUser *iuser, void **r_lock)
bool BKE_image_is_multiview(const struct Image *ima)
bool BKE_image_has_loaded_ibuf(struct Image *image)
void BKE_image_partial_update_mark_full_update(struct Image *image)
Mark the whole image to be updated.
bool BKE_image_is_stereo(const struct Image *ima)
#define IMA_SIGNAL_COLORMANAGE
bool BKE_image_clear_renderslot(struct Image *ima, struct ImageUser *iuser, int slot)
void BKE_image_free_gputextures(struct Image *ima)
void BKE_image_mark_dirty(struct Image *image, struct ImBuf *ibuf)
bool BKE_image_has_packedfile(const struct Image *image)
#define IMA_SIGNAL_SRC_CHANGE
bool BKE_image_has_anim(struct Image *image)
bool BKE_image_is_dirty(struct Image *image)
#define IMA_SIGNAL_RELOAD
void BKE_image_file_format_set(struct Image *image, int ftype, const struct ImbFormatOptions *options)
void BKE_image_signal(struct Main *bmain, struct Image *ima, struct ImageUser *iuser, int signal)
struct ImageTile * BKE_image_add_tile(struct Image *ima, int tile_number, const char *label)
void BKE_image_user_frame_calc(struct Image *ima, struct ImageUser *iuser, int cfra)
void BKE_imageuser_default(struct ImageUser *iuser)
void BKE_image_get_tile_label(struct Image *ima, struct ImageTile *tile, char *label, int len_label)
struct RenderSlot * BKE_image_get_renderslot(struct Image *ima, int index)
void BKE_image_reassign_tile(struct Image *ima, struct ImageTile *tile, int new_tile_number)
bool BKE_id_is_in_global_main(struct ID *id)
void BKE_ntree_update_tag_image_user_changed(struct bNodeTree *ntree, struct ImageUser *iuser)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
int BLI_listbase_count(const struct ListBase *listbase) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int min_ii(int a, int b)
MINLINE int max_ii(int a, int b)
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ IMA_ALPHA_CHANNEL_PACKED
void ED_node_tree_propagate_change(const struct bContext *C, struct Main *bmain, struct bNodeTree *ntree)
struct GPUTexture GPUTexture
int GPU_texture_opengl_bindcode(const GPUTexture *tex)
int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc)
Contains defines and structs used throughout the imbuf module.
@ IB_DISPLAY_BUFFER_INVALID
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position CLAMP
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a producing a negative Combine Generate a color from its and blue channels(Deprecated)") DefNode(ShaderNode
#define RNA_MAX_ARRAY_DIMENSION
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
return(oflags[bm->toolflag_index].f &oflag) !=0
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
struct ListBase packedfiles
struct GPUTexture * gputexture[3][2]
CCL_NAMESPACE_BEGIN struct Options options
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx in_weight_img image(1, GPU_R32F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "out_weight_img") .image(3
void * BKE_image_get_tile
ccl_gpu_kernel_postfix ccl_global KernelWorkTile const int num_tiles
ccl_global const KernelWorkTile * tile
MINLINE unsigned char unit_float_to_uchar_clamp(float val)
T length(const vec_base< T, Size > &a)
const PointerRNA PointerRNA_NULL
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data)
void RNA_def_property_pointer_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_define_lib_overridable(const bool make_overridable)
void RNA_def_struct_path_func(StructRNA *srna, const char *path)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_property_dynamic_array_funcs(PropertyRNA *prop, const char *getlength)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
PropertyRNA * RNA_def_float_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
PropertyRNA * RNA_def_int_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_property_subtype(PropertyRNA *prop, PropertySubType subtype)
void RNA_def_property_float_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_enum_items_add_value(EnumPropertyItem **items, int *totitem, const EnumPropertyItem *item, int value)
void RNA_def_property_ui_range(PropertyRNA *prop, double min, double max, double step, int precision)
void RNA_def_property_int_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_boolean_negative_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_image(BlenderRNA *brna)
static void rna_def_image(BlenderRNA *brna)
static void rna_def_render_slot(BlenderRNA *brna)
static void rna_def_render_slots(BlenderRNA *brna, PropertyRNA *cprop)
static const EnumPropertyItem image_source_items[]
static void rna_def_image_packed_files(BlenderRNA *brna)
static void rna_def_udim_tile(BlenderRNA *brna)
static void rna_def_udim_tiles(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_imageuser(BlenderRNA *brna)
const EnumPropertyItem rna_enum_image_generated_type_items[]
void RNA_api_image(StructRNA *srna)
void RNA_api_image_packed_file(StructRNA *srna)
char * rna_CameraBackgroundImage_image_or_movieclip_user_path(const struct PointerRNA *ptr)
char * rna_Node_ImageUser_path(const struct PointerRNA *ptr)
const EnumPropertyItem rna_enum_image_type_items[]
const EnumPropertyItem rna_enum_views_format_items[]
struct PackedFile * packedfile
void WM_main_add_notifier(unsigned int type, void *reference)