10 #define DNA_DEPRECATED_ALLOW
75 #define U (*((const UserDef *)&U))
85 sock =
node->outputs.first;
144 R_OPENEXR_HALF = (1 << 0),
145 R_OPENEXR_ZBUF = (1 << 1),
146 R_PREVIEW_JPG = (1 << 2),
147 R_CINEON_LOG = (1 << 3),
148 R_TIFF_16BIT = (1 << 4),
150 R_JPEG2K_12BIT = (1 << 5),
152 R_JPEG2K_16BIT = (1 << 6),
153 R_JPEG2K_YCC = (1 << 7),
155 R_JPEG2K_CINE_PRESET = (1 << 8),
156 R_JPEG2K_CINE_48FPS = (1 << 9),
165 imf->
imtype = (char)rd->imtype;
166 imf->
planes = (
char)rd->planes;
168 imf->
quality = (
char)rd->quality;
179 if (rd->subimtype & R_PREVIEW_JPG) {
182 if (rd->subimtype & R_OPENEXR_ZBUF) {
187 if (rd->subimtype & R_TIFF_16BIT) {
192 if (rd->subimtype & R_JPEG2K_16BIT) {
195 else if (rd->subimtype & R_JPEG2K_12BIT) {
199 if (rd->subimtype & R_JPEG2K_YCC) {
202 if (rd->subimtype & R_JPEG2K_CINE_PRESET) {
205 if (rd->subimtype & R_JPEG2K_CINE_48FPS) {
211 if (rd->subimtype & R_CINEON_LOG) {
226 for (sock =
node->inputs.first; sock; sock = sock->
next) {
229 for (sock =
node->outputs.first; sock; sock = sock->
next) {
266 node->storage = nimf;
291 BLI_snprintf(sockpath,
sizeof(sockpath),
"%s_Image", filename);
295 if (old_image->
link) {
300 BLI_snprintf(sockpath,
sizeof(sockpath),
"%s_Z", filename);
313 if (old_image->
link) {
338 for (sock =
node->inputs.first; sock; sock = sock->
next) {
362 for (i = 0; i < me->
totloop; i++, mloopcol++) {
376 for (sock =
node->inputs.first; sock; sock = sock->
next) {
392 for (sock =
node->inputs.first; sock; sock = sock->
next) {
415 for (sock =
node->outputs.first; sock; sock = sock->
next) {
442 data->label_size = 20;
447 node->color[0] =
node->color[1] =
node->color[2] = 0.608f;
483 #define DefNode(Category, ID, DefFunc, EnumName, StructName, UIName, UIDesc) \
485 return #Category #StructName;
492 return "CompositorNodeGroup";
494 return "ShaderNodeGroup";
496 return "TextureNodeGroup";
509 switch (sock->
type) {
570 for (sock =
node->inputs.first; sock; sock = sock->
next) {
573 for (sock =
node->outputs.first; sock; sock = sock->
next) {
592 for (sock =
node->inputs.first; sock; sock = sock->
next) {
595 for (sock =
node->outputs.first; sock; sock = sock->
next) {
613 for (sock =
node->inputs.first; sock; sock = sock->
next) {
622 for (sock =
node->outputs.first; sock; sock = sock->
next) {
657 if (strip && strip->color_balance) {
674 strip->color_balance =
NULL;
681 enum { SEQ_MAKE_PREMUL = (1 << 6) };
682 if (seq->
flag & SEQ_MAKE_PREMUL) {
771 tex_mapping =
node->storage;
815 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
840 if (clip->
aspx < 1.0f) {
896 for (i = 0; i < 3; i++) {
897 if ((ob->dsize[i] == 0.0f) ||
898 (ob->
scale[i] == 0.0f))
993 while (tracking_object) {
994 if (!tracking_object->
scale) {
995 tracking_object->
scale = 1.0f;
998 tracking_object = tracking_object->
next;
1008 if (
data->invmat[3][3] == 0.0f) {
1025 ups->
size = ts->sculpt_paint_unified_size;
1027 ups->
alpha = ts->sculpt_paint_unified_alpha;
1028 ups->
flag = ts->sculpt_paint_settings;
1046 if (added && tl == text->
curl) {
1064 surface->color_dry_threshold = 1.0f;
1065 surface->influence_scale = 1.0f;
1173 if (fmd->
fss->viscosityMode == 3) {
1177 else if (fmd->
fss->viscosityMode == 4) {
1238 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1244 for (region =
area->regionbase.first; region; region = region->
next) {
1270 if (cam->
flag & CAM_PANORAMA) {
1272 cam->
flag &= ~CAM_PANORAMA;
1399 if (
data->maxblur == 0.0f) {
1400 data->maxblur = 16.0f;
1418 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1422 if (sclip->
around == 0) {
1450 track = track->
next;
1483 if (
data->despill_balance == 0.0f) {
1484 data->despill_balance = 0.5f;
1513 node->custom3 = 0.5f;
1537 bool colormanagement_disabled =
false;
1550 colormanagement_disabled =
true;
1558 else if (colormanagement_disabled) {
1626 for (tracking_object = tracking->
objects.
first; tracking_object;
1627 tracking_object = tracking_object->
next) {
1684 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1720 for (link =
node->internal_links.first; link; link = nextlink) {
1721 nextlink = link->
next;
1780 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1828 if (
image->flag & IMA_DO_PREMUL) {
1840 if (
image && (
image->flag & IMA_DO_PREMUL) == 0) {
1841 enum { IMA_IGNORE_ALPHA = (1 << 12) };
1842 image->flag |= IMA_IGNORE_ALPHA;
1956 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
1967 switch (snode->treetype) {
2019 #define BRUSH_TEXTURE_OVERLAY (1 << 21)
2027 #undef BRUSH_TEXTURE_OVERLAY
2069 if (
srl->freestyleConfig.mode == 0) {
2072 if (
ELEM(
srl->freestyleConfig.raycasting_algorithm,
2075 srl->freestyleConfig.raycasting_algorithm = 0;
2129 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2141 if (active_viewer_key.
value != 0) {
2145 if (active_viewer_key.
value != 0) {
2167 if (fmd->
domain->
flags & FLUID_DOMAIN_USE_HIGH_SMOOTH) {
2188 #define BRUSH_FIXED (1 << 6)
2251 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2254 if (snode->
zoom < 0.02f) {
2283 if (region ==
NULL) {
2306 if (
node->custom1 == SHD_SUBSURFACE_COMPATIBLE) {
2307 node->custom1 = SHD_SUBSURFACE_CUBIC;
2324 if (
node->custom1 == 0) {
2328 else if (
node->custom1 == 1) {
2353 for (sl =
area->spacedata.first; sl; sl = sl->
next) {
2374 for (tracking_object = tracking->
objects.
first; tracking_object;
2375 tracking_object = tracking_object->
next) {
2378 for (track = tracksbase->
first; track; track = track->
next) {
2392 if (tmd->
flag & MOD_TRIANGULATE_BEAUTY) {
2433 la->spotsize =
DEG2RADF(la->spotsize);
2484 plane_track = plane_track->
next) {
2498 SCULPT_SYMM_X = (1 << 0),
2499 SCULPT_SYMM_Y = (1 << 1),
2500 SCULPT_SYMM_Z = (1 << 2),
2501 SCULPT_SYMMETRY_FEATHER = (1 << 6),
2503 int symmetry_flags = sd->
flags & 7;
2505 if (symmetry_flags & SCULPT_SYMM_X) {
2508 if (symmetry_flags & SCULPT_SYMM_Y) {
2511 if (symmetry_flags & SCULPT_SYMM_Z) {
2514 if (symmetry_flags & SCULPT_SYMMETRY_FEATHER) {
2555 for (space_link =
area->spacedata.first; space_link; space_link = space_link->
next) {
2560 if (space_link ==
area->spacedata.first) {
2561 lb = &
area->regionbase;
2567 for (region = lb->
first; region; region = region->
next) {
2601 int num_inputs = 0, num_outputs = 0;
2609 float input_locx = 1000000.0f, input_locy = 0.0f;
2610 float output_locx = -1000000.0f, output_locy = 0.0f;
2612 const float offsetx = 42 + 3 * 20 + 20;
2615 if (create_io_nodes) {
2630 bool free_link =
false;
2631 next_link = link->
next;
2640 if (input_locx > link->
tonode->
locx - offsetx) {
2653 link->
tonode = output_node;
2658 if (output_locx < link->fromnode->locx + offsetx) {
2674 if (num_inputs > 0) {
2675 input_locy /= num_inputs;
2676 input_node->
locx = input_locx;
2677 input_node->
locy = input_locy;
2679 if (num_outputs > 0) {
2680 output_locy /= num_outputs;
2681 output_node->locx = output_locx;
2682 output_node->locy = output_locy;
2696 next_link = link->
next;
void animviz_settings_init(struct bAnimVizSettings *avs)
void CustomData_free_layers(struct CustomData *data, int type, int totelem)
void CustomData_update_typemap(struct CustomData *data)
void BKE_image_alpha_mode_from_extension(struct Image *image)
#define MAIN_VERSION_ATLEAST(main, ver, subver)
#define MAIN_VERSION_OLDER(main, ver, subver)
void BKE_mesh_do_versions_cd_flag_init(struct Mesh *mesh)
void nodeUniqueName(struct bNodeTree *ntree, struct bNode *node)
#define CMP_NODE_MASK_ELLIPSE
#define CMP_NODE_TRANSLATE
#define SH_NODE_SUBSURFACE_SCATTERING
#define CMP_NODE_COLORBALANCE
#define CMP_NODE_BOKEHIMAGE
#define SH_NODE_TEX_ENVIRONMENT
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link)
#define CMP_NODE_CHROMA_MATTE
#define CMP_NODE_DILATEERODE
const char * nodeStaticSocketType(int type, int subtype)
#define CMP_NODE_OUTPUT_FILE
#define FOREACH_NODETREE_END
void nodeRemoveSocket(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock)
#define CMP_NODE_MASK_BOX
#define FOREACH_NODETREE_BEGIN(bmain, _nodetree, _id)
struct bNode * nodeAddStaticNode(const struct bContext *C, struct bNodeTree *ntree, int type)
#define CMP_NODE_R_LAYERS
#define CMP_NODE_OUTPUT_MULTI_FILE__DEPRECATED
void BKE_scene_disable_color_management(struct Scene *scene)
struct ARegion * BKE_area_find_region_type(const struct ScrArea *area, int type)
int txt_extended_ascii_as_utf8(char **str)
void BKE_texture_mtex_default(struct MTex *mtex)
struct MovieTrackingObject * BKE_tracking_object_add(struct MovieTracking *tracking, const char *name)
struct ListBase * BKE_tracking_object_get_tracks(struct MovieTracking *tracking, struct MovieTrackingObject *object)
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
MINLINE int max_iii(int a, int b, int c)
void unit_m4(float m[4][4])
MINLINE void copy_v2_v2(float r[2], const float a[2])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE bool is_zero_v3(const float a[3]) ATTR_WARN_UNUSED_RESULT
void copy_vn_fl(float *array_tar, int size, float val)
MINLINE bool is_zero_v2(const float a[2]) ATTR_WARN_UNUSED_RESULT
void BLI_split_dirfile(const char *string, char *dir, char *file, size_t dirlen, size_t filelen)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
size_t BLI_strlen_utf8(const char *strc) ATTR_NONNULL(1) ATTR_WARN_UNUSED_RESULT
bool BLI_uniquename(struct ListBase *list, void *vlink, const char *defname, char delim, int name_offset, size_t name_len)
#define POINTER_AS_INT(i)
external readfile function prototypes.
#define DEFAULT_SENSOR_HEIGHT
#define DEFAULT_SENSOR_WIDTH
@ CONSTRAINT_TYPE_OBJECTSOLVER
@ CONSTRAINT_TYPE_SHRINKWRAP
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_CUMULATIVE
@ FREESTYLE_ALGO_CULLED_ADAPTIVE_TRADITIONAL
@ FREESTYLE_CONTROL_EDITOR_MODE
blenloader genfile private function prototypes
bool DNA_struct_elem_find(const struct SDNA *sdna, const char *stype, const char *vartype, const char *name)
#define LS_CHAINING_PLAIN
#define LS_THICKNESS_CENTER
@ MOD_TRIANGULATE_NGON_BEAUTY
@ MOD_TRIANGULATE_NGON_EARCLIP
@ MOD_BUILD_FLAG_RANDOMIZE
@ eModifierType_EdgeSplit
@ eModifierType_DynamicPaint
@ eModifierType_Triangulate
@ MOD_SHRINKWRAP_PROJECT_OVER_X_AXIS
@ MOD_SHRINKWRAP_PROJECT_OVER_Y_AXIS
@ MOD_TRIANGULATE_QUAD_FIXED
@ MOD_TRIANGULATE_QUAD_BEAUTY
#define CMP_NODE_IMAGE_USE_STRAIGHT_OUTPUT
Object is a sort of wrapper for general info.
@ SCULPT_DYNTOPO_SUBDIVIDE
#define R_LINE_THICKNESS_ABSOLUTE
#define R_IMF_IMTYPE_CINEON
#define R_IMF_IMTYPE_TIFF
#define R_IMF_IMTYPE_IRIZ
#define R_IMF_IMTYPE_MULTILAYER
#define R_IMF_JP2_FLAG_CINE_PRESET
#define R_IMF_CINEON_FLAG_LOG
#define R_IMF_FLAG_PREVIEW_JPG
#define R_IMF_JP2_FLAG_YCC
#define R_IMF_JP2_FLAG_CINE_48
#define R_IMF_IMTYPE_OPENEXR
@ seqModifierType_ColorBalance
@ SEQ_PREVIEW_SHOW_GPENCIL
#define MTEX_MAP_MODE_TILED
@ TRACK_MOTION_MODEL_TRANSLATION
@ V3D_AROUND_CENTER_MEDIAN
#define V3D_SHOW_ANNOTATION
#define V3D_SHOW_RECONSTRUCTION
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
@ IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN
@ IMB_TC_RECORD_RUN_NO_GAPS
Read Guarded memory(de)allocation.
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks SH_NODE_TEX_COORD
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block TEX_IMAGE
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block SH_NODE_TEX_IMAGE
__forceinline const avxi srl(const avxi &a, const int32_t b)
ColorManagedColorspaceSettings colorspace_settings
FreestyleLineStyle linestyle
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
struct @211::@212 surface
void SEQ_for_each_callback(ListBase *seqbase, SeqForEachFunc callback, void *user_data)
ccl_global KernelShaderEvalInput ccl_global float * output
ccl_global KernelShaderEvalInput * input
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
static void area(int d1, int d2, int e1, int e2, float weights[2])
bNodeSocket * node_group_output_find_socket(bNode *node, const char *identifier)
bNodeSocket * node_group_input_find_socket(bNode *node, const char *identifier)
void ntreeCompositColorBalanceSyncFromLGG(bNodeTree *UNUSED(ntree), bNode *node)
void ntreeCompositColorBalanceSyncFromCDL(bNodeTree *UNUSED(ntree), bNode *node)
void ntreeCompositOutputFileUniqueLayer(ListBase *list, bNodeSocket *sock, const char defname[], char delim)
bNodeSocket * ntreeCompositOutputFileAddSocket(bNodeTree *ntree, bNode *node, const char *name, const ImageFormatData *im_format)
void ntreeCompositOutputFileUniquePath(ListBase *list, bNodeSocket *sock, const char defname[], char delim)
void * blo_do_versions_newlibadr(FileData *fd, const void *lib, const void *adr)
void blo_do_versions_key_uidgen(Key *key)
SequenceModifierData * SEQ_modifier_new(Sequence *seq, const char *name, int type)
int texture_overlay_alpha
float stencil_dimension[2]
float mask_stencil_pos[2]
float mask_stencil_dimension[2]
struct ClothSimSettings * sim_parms
StripColorBalance color_balance
struct DynamicPaintCanvasSettings * canvas
float flame_smoke_color[3]
struct FluidDomainSettings * domain
struct FluidFlowSettings * flow
struct FluidsimSettings * fss
struct bNodeTree * nodetree
struct ModifierData * next
struct MovieClipProxy proxy
struct MovieTracking tracking
float pattern_corners[4][2]
struct MovieTrackingObject * next
struct MovieTrackingPlaneTrack * next
short default_motion_model
float default_minimum_correlation
short default_pattern_size
short default_search_size
float minimum_correlation
MovieTrackingMarker * markers
struct MovieTrackingTrack * next
MovieTrackingCamera camera
MovieTrackingSettings settings
struct ImageFormatData im_format
struct ImageFormatData im_format
struct FFMpegCodecData ffcodecdata
float unit_line_thickness
struct bNodeTree * nodetree
struct ToolSettings * toolsettings
ColorManagedDisplaySettings display_settings
struct MovieClipScopes scopes
struct bNodeTree * edittree
struct bNodeTree * nodetree
struct bNodeTree * nodetree
struct bNodeTree * nodetree
struct bConstraint * next
struct bNodeSocket * next
bNodeInstanceKey parent_key
struct bNodeTreeType * typeinfo
bNodeInstanceKey active_viewer_key
void SEQ_alpha_mode_from_file_extension(Sequence *seq)
static const char * node_socket_get_static_idname(bNodeSocket *sock)
static void do_versions_nodetree_multi_file_output_path_2_63_1(bNodeTree *ntree)
static void do_versions_nodetree_file_output_layers_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_convert_angle(bNodeTree *ntree)
void blo_do_versions_260(FileData *fd, Library *UNUSED(lib), Main *bmain)
static void do_versions_affine_tracker_track(MovieTrackingTrack *track)
static bool seq_colorbalance_update_cb(Sequence *seq, void *UNUSED(user_data))
static void do_versions_image_settings_2_60(Scene *sce)
static void do_versions_nodetree_socket_use_flags_2_62(bNodeTree *ntree)
static void do_versions_nodetree_image_layer_2_64_5(bNodeTree *ntree)
static void do_versions_nodetree_customnodes(bNodeTree *ntree, int UNUSED(is_group))
static void do_versions_nodetree_image_default_alpha_output(bNodeTree *ntree)
static void do_versions_mesh_mloopcol_swap_2_62_1(Mesh *me)
void do_versions_after_linking_260(Main *bmain)
static const char * node_get_static_idname(int type, int treetype)
static void do_versions_nodetree_frame_2_64_6(bNodeTree *ntree)
static bool seq_set_alpha_mode_cb(Sequence *seq, void *UNUSED(user_data))
static void do_versions_nodetree_multi_file_output_format_2_62_1(Scene *sce, bNodeTree *ntree)
#define BRUSH_TEXTURE_OVERLAY
static bool seq_set_wipe_angle_cb(Sequence *seq, void *UNUSED(user_data))