Cleanup: Change globalBlock members to snake case

This avoid conflicting defines in GLSL

Fix T96998 Blender 3.2.0 Alpha crashes on startup
This commit is contained in:
Clément Foucault
2022-04-05 14:36:53 +02:00
parent c8d658c5ed
commit d889762590
12 changed files with 382 additions and 381 deletions

View File

@@ -63,7 +63,7 @@ void OVERLAY_antialiasing_init(OVERLAY_Data *vedata)
return;
}
bool need_wire_expansion = (G_draw.block.sizePixel > 1.0f);
bool need_wire_expansion = (G_draw.block.size_pixel > 1.0f);
pd->antialiasing.enabled = need_wire_expansion ||
((U.gpu_flag & USER_GPU_FLAG_OVERLAY_SMOOTH_WIRE) != 0);

View File

@@ -784,28 +784,28 @@ static void drw_shgroup_bone_relationship_lines(ArmatureDrawContext *ctx,
const float start[3],
const float end[3])
{
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.colorWire);
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.color_wire);
}
static void drw_shgroup_bone_ik_lines(ArmatureDrawContext *ctx,
const float start[3],
const float end[3])
{
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.colorBoneIKLine);
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.color_bone_ik_line);
}
static void drw_shgroup_bone_ik_no_target_lines(ArmatureDrawContext *ctx,
const float start[3],
const float end[3])
{
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.colorBoneIKLineNoTarget);
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.color_bone_ik_line_no_target);
}
static void drw_shgroup_bone_ik_spline_lines(ArmatureDrawContext *ctx,
const float start[3],
const float end[3])
{
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.colorBoneIKLineSpline);
drw_shgroup_bone_relationship_lines_ex(ctx, start, end, G_draw.block.color_bone_ik_line_spline);
}
/** \} */
@@ -918,16 +918,16 @@ static bool set_pchan_color(const ArmatureDrawContext *ctx,
}
else {
if ((boneflag & BONE_DRAW_ACTIVE) && (boneflag & BONE_SELECTED)) {
copy_v4_v4(fcolor, G_draw.block.colorBonePoseActive);
copy_v4_v4(fcolor, G_draw.block.color_bone_pose_active);
}
else if (boneflag & BONE_DRAW_ACTIVE) {
copy_v4_v4(fcolor, G_draw.block.colorBonePoseActiveUnsel);
copy_v4_v4(fcolor, G_draw.block.color_bone_pose_active_unsel);
}
else if (boneflag & BONE_SELECTED) {
copy_v4_v4(fcolor, G_draw.block.colorBonePose);
copy_v4_v4(fcolor, G_draw.block.color_bone_pose);
}
else {
copy_v4_v4(fcolor, G_draw.block.colorWire);
copy_v4_v4(fcolor, G_draw.block.color_wire);
}
}
return true;
@@ -940,23 +940,23 @@ static bool set_pchan_color(const ArmatureDrawContext *ctx,
srgb_to_linearrgb_v4(fcolor, fcolor);
}
else {
copy_v4_v4(fcolor, G_draw.block.colorBoneSolid);
copy_v4_v4(fcolor, G_draw.block.color_bone_solid);
}
return true;
}
case PCHAN_COLOR_CONSTS: {
if ((bcolor == NULL) || (bcolor->flag & TH_WIRECOLOR_CONSTCOLS)) {
if (constflag & PCHAN_HAS_TARGET) {
copy_v4_v4(fcolor, G_draw.block.colorBonePoseTarget);
copy_v4_v4(fcolor, G_draw.block.color_bone_pose_target);
}
else if (constflag & PCHAN_HAS_IK) {
copy_v4_v4(fcolor, G_draw.block.colorBonePoseIK);
copy_v4_v4(fcolor, G_draw.block.color_bone_pose_ik);
}
else if (constflag & PCHAN_HAS_SPLINEIK) {
copy_v4_v4(fcolor, G_draw.block.colorBonePoseSplineIK);
copy_v4_v4(fcolor, G_draw.block.color_bone_pose_spline_ik);
}
else if (constflag & PCHAN_HAS_CONST) {
copy_v4_v4(fcolor, G_draw.block.colorBonePoseConstraint);
copy_v4_v4(fcolor, G_draw.block.color_bone_pose_constraint);
}
else {
return false;
@@ -978,7 +978,7 @@ static bool set_pchan_color(const ArmatureDrawContext *ctx,
static void bone_locked_color_shade(float color[4])
{
float *locked_color = G_draw.block.colorBoneLocked;
float *locked_color = G_draw.block.color_bone_locked;
interp_v3_v3v3(color, color, locked_color, locked_color[3]);
}
@@ -991,7 +991,7 @@ static const float *get_bone_solid_color(const ArmatureDrawContext *ctx,
const short constflag)
{
if (ctx->const_color) {
return G_draw.block.colorBoneSolid;
return G_draw.block.color_bone_solid;
}
if (arm->flag & ARM_POSEMODE) {
@@ -1006,7 +1006,7 @@ static const float *get_bone_solid_color(const ArmatureDrawContext *ctx,
return disp_color;
}
return G_draw.block.colorBoneSolid;
return G_draw.block.color_bone_solid;
}
static const float *get_bone_solid_with_consts_color(const ArmatureDrawContext *ctx,
@@ -1017,7 +1017,7 @@ static const float *get_bone_solid_with_consts_color(const ArmatureDrawContext *
const short constflag)
{
if (ctx->const_color) {
return G_draw.block.colorBoneSolid;
return G_draw.block.color_bone_solid;
}
const float *col = get_bone_solid_color(ctx, eBone, pchan, arm, boneflag, constflag);
@@ -1060,18 +1060,18 @@ static const float *get_bone_wire_color(const ArmatureDrawContext *ctx,
else if (eBone) {
if (boneflag & BONE_SELECTED) {
if (boneflag & BONE_DRAW_ACTIVE) {
copy_v3_v3(disp_color, G_draw.block.colorBoneActive);
copy_v3_v3(disp_color, G_draw.block.color_bone_active);
}
else {
copy_v3_v3(disp_color, G_draw.block.colorBoneSelect);
copy_v3_v3(disp_color, G_draw.block.color_bone_select);
}
}
else {
if (boneflag & BONE_DRAW_ACTIVE) {
copy_v3_v3(disp_color, G_draw.block.colorBoneActiveUnsel);
copy_v3_v3(disp_color, G_draw.block.color_bone_active_unsel);
}
else {
copy_v3_v3(disp_color, G_draw.block.colorWireEdit);
copy_v3_v3(disp_color, G_draw.block.color_wire_edit);
}
}
}
@@ -1084,7 +1084,7 @@ static const float *get_bone_wire_color(const ArmatureDrawContext *ctx,
}
}
else {
copy_v3_v3(disp_color, G_draw.block.colorVertex);
copy_v3_v3(disp_color, G_draw.block.color_vertex);
}
disp_color[3] = get_bone_wire_thickness(ctx, boneflag);
@@ -1111,7 +1111,7 @@ static const float *get_bone_hint_color(const ArmatureDrawContext *ctx,
static float hint_color[4] = {0.0f, 0.0f, 0.0f, 1.0f};
if (ctx->const_color) {
bone_hint_color_shade(hint_color, G_draw.block.colorBoneSolid);
bone_hint_color_shade(hint_color, G_draw.block.color_bone_solid);
}
else {
const float *wire_color = get_bone_wire_color(ctx, eBone, pchan, arm, boneflag, constflag);
@@ -1408,8 +1408,8 @@ static void draw_axes(ArmatureDrawContext *ctx,
{
float final_col[4];
const float *col = (ctx->const_color) ? ctx->const_color :
(BONE_FLAG(eBone, pchan) & BONE_SELECTED) ? G_draw.block.colorTextHi :
G_draw.block.colorText;
(BONE_FLAG(eBone, pchan) & BONE_SELECTED) ? G_draw.block.color_text_hi :
G_draw.block.color_text;
copy_v4_v4(final_col, col);
/* Mix with axes color. */
final_col[3] = (ctx->const_color) ? 1.0 : (BONE_FLAG(eBone, pchan) & BONE_SELECTED) ? 0.1 : 0.65;
@@ -1444,10 +1444,10 @@ static void draw_points(ArmatureDrawContext *ctx,
float col_solid_root[4], col_solid_tail[4], col_wire_root[4], col_wire_tail[4];
float col_hint_root[4], col_hint_tail[4];
copy_v4_v4(col_solid_root, G_draw.block.colorBoneSolid);
copy_v4_v4(col_solid_tail, G_draw.block.colorBoneSolid);
copy_v4_v4(col_wire_root, (ctx->const_color) ? ctx->const_color : G_draw.block.colorVertex);
copy_v4_v4(col_wire_tail, (ctx->const_color) ? ctx->const_color : G_draw.block.colorVertex);
copy_v4_v4(col_solid_root, G_draw.block.color_bone_solid);
copy_v4_v4(col_solid_tail, G_draw.block.color_bone_solid);
copy_v4_v4(col_wire_root, (ctx->const_color) ? ctx->const_color : G_draw.block.color_vertex);
copy_v4_v4(col_wire_tail, (ctx->const_color) ? ctx->const_color : G_draw.block.color_vertex);
const bool is_envelope_draw = (arm->drawtype == ARM_ENVELOPE);
const float envelope_ignore = -1.0f;
@@ -1457,10 +1457,10 @@ static void draw_points(ArmatureDrawContext *ctx,
/* Edit bone points can be selected */
if (eBone) {
if (eBone->flag & BONE_ROOTSEL) {
copy_v3_v3(col_wire_root, G_draw.block.colorVertexSelect);
copy_v3_v3(col_wire_root, G_draw.block.color_vertex_select);
}
if (eBone->flag & BONE_TIPSEL) {
copy_v3_v3(col_wire_tail, G_draw.block.colorVertexSelect);
copy_v3_v3(col_wire_tail, G_draw.block.color_vertex_select);
}
}
else if (arm->flag & ARM_POSEMODE) {
@@ -1648,12 +1648,12 @@ static void draw_bone_line(ArmatureDrawContext *ctx,
else {
if (eBone) {
if (eBone->flag & BONE_TIPSEL) {
col_tail = G_draw.block.colorVertexSelect;
col_tail = G_draw.block.color_vertex_select;
}
if (boneflag & BONE_SELECTED) {
col_bone = G_draw.block.colorBoneActive;
col_bone = G_draw.block.color_bone_active;
}
col_wire = G_draw.block.colorWire;
col_wire = G_draw.block.color_wire;
}
/* Draw root point if we are not connected to our parent. */
@@ -1661,7 +1661,7 @@ static void draw_bone_line(ArmatureDrawContext *ctx,
(pchan->bone->parent && (boneflag & BONE_CONNECTED)))) {
if (eBone) {
col_head = (eBone->flag & BONE_ROOTSEL) ? G_draw.block.colorVertexSelect : col_bone;
col_head = (eBone->flag & BONE_ROOTSEL) ? G_draw.block.color_vertex_select : col_bone;
}
else {
col_head = col_bone;

View File

@@ -96,7 +96,7 @@ void OVERLAY_background_cache_init(OVERLAY_Data *vedata)
GPUShader *sh = OVERLAY_shader_clipbound();
DRWShadingGroup *grp = DRW_shgroup_create(sh, psl->clipping_frustum_ps);
DRW_shgroup_uniform_vec4_copy(grp, "color", G_draw.block.colorClippingBorder);
DRW_shgroup_uniform_vec4_copy(grp, "color", G_draw.block.color_clipping_border);
DRW_shgroup_uniform_vec3(grp, "boundbox", &bb->vec[0][0], 8);
struct GPUBatch *cube = DRW_cache_cube_get();

View File

@@ -35,7 +35,7 @@ void OVERLAY_edit_text_cache_init(OVERLAY_Data *vedata)
sh = OVERLAY_shader_uniform_color();
pd->edit_text_wire_grp[i] = grp = DRW_shgroup_create(sh, psl->edit_text_wire_ps[i]);
DRW_shgroup_uniform_vec4_copy(grp, "color", G_draw.block.colorWire);
DRW_shgroup_uniform_vec4_copy(grp, "color", G_draw.block.color_wire);
}
{
state = DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND_ALPHA;
@@ -139,7 +139,7 @@ static void edit_text_cache_populate_boxes(OVERLAY_Data *vedata, Object *ob)
for (int i = 0; i < cu->totbox; i++) {
TextBox *tb = &cu->tb[i];
const bool is_active = (i == (cu->actbox - 1));
float *color = is_active ? G_draw.block.colorActive : G_draw.block.colorWire;
float *color = is_active ? G_draw.block.color_active : G_draw.block.color_wire;
if ((tb->w != 0.0f) || (tb->h != 0.0f)) {
float vecs[4][3];

View File

@@ -194,23 +194,23 @@ void OVERLAY_extra_cache_init(OVERLAY_Data *vedata)
DRW_shgroup_uniform_block(grp, "globalsBlock", G_draw.block_ubo);
grp_sub = DRW_shgroup_create_sub(grp);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.colorActive);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.color_active);
cb->center_active = BUF_POINT(grp_sub, format);
grp_sub = DRW_shgroup_create_sub(grp);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.colorSelect);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.color_select);
cb->center_selected = BUF_POINT(grp_sub, format);
grp_sub = DRW_shgroup_create_sub(grp);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.colorDeselect);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.color_deselect);
cb->center_deselected = BUF_POINT(grp_sub, format);
grp_sub = DRW_shgroup_create_sub(grp);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.colorLibrarySelect);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.color_library_select);
cb->center_selected_lib = BUF_POINT(grp_sub, format);
grp_sub = DRW_shgroup_create_sub(grp);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.colorLibrary);
DRW_shgroup_uniform_vec4_copy(grp_sub, "color", G_draw.block.color_library);
cb->center_deselected_lib = BUF_POINT(grp_sub, format);
}
}
@@ -861,8 +861,8 @@ static void camera_view3d_reconstruction(
int track_index = 1;
float bundle_color_custom[3];
float *bundle_color_solid = G_draw.block.colorBundleSolid;
float *bundle_color_unselected = G_draw.block.colorWire;
float *bundle_color_solid = G_draw.block.color_bundle_solid;
float *bundle_color_unselected = G_draw.block.color_wire;
uchar text_color_selected[4], text_color_unselected[4];
/* Color Management: Exception here as texts are drawn in sRGB space directly. */
UI_GetThemeColor4ubv(TH_SELECT, text_color_selected);
@@ -1034,7 +1034,7 @@ static void camera_stereoscopy_extra(OVERLAY_ExtraCallBuffers *cb,
DRW_buffer_add_entry_struct(cb->camera_frame, &stereodata);
/* Connecting line between cameras. */
OVERLAY_extra_line_dashed(cb, stereodata.pos, instdata->pos, G_draw.block.colorWire);
OVERLAY_extra_line_dashed(cb, stereodata.pos, instdata->pos, G_draw.block.color_wire);
}
if (is_stereo3d_volume && !is_select) {
@@ -1248,8 +1248,8 @@ static void OVERLAY_relationship_lines(OVERLAY_ExtraCallBuffers *cb,
Scene *scene,
Object *ob)
{
float *relation_color = G_draw.block.colorWire;
float *constraint_color = G_draw.block.colorGridAxisZ; /* ? */
float *relation_color = G_draw.block.color_wire;
float *constraint_color = G_draw.block.color_grid_axis_z; /* ? */
if (ob->parent && (DRW_object_visibility_in_active_context(ob->parent) & OB_VISIBLE_SELF)) {
float *parent_pos = ob->runtime.parent_display_origin;

View File

@@ -174,7 +174,7 @@ void OVERLAY_edit_gpencil_cache_init(OVERLAY_Data *vedata)
bGPDcontrolpoint *cp = &gpd->runtime.cp_points[i];
grp = DRW_shgroup_create_sub(grp);
DRW_shgroup_uniform_vec3_copy(grp, "pPosition", &cp->x);
DRW_shgroup_uniform_float_copy(grp, "pSize", cp->size * 0.8f * G_draw.block.sizePixel);
DRW_shgroup_uniform_float_copy(grp, "pSize", cp->size * 0.8f * G_draw.block.size_pixel);
DRW_shgroup_uniform_vec4_copy(grp, "pColor", cp->color);
DRW_shgroup_call_procedural_points(grp, NULL, 1);
}
@@ -196,7 +196,7 @@ void OVERLAY_edit_gpencil_cache_init(OVERLAY_Data *vedata)
DRW_shgroup_uniform_vec3_copy(grp, "pPosition", scene->cursor.location);
}
DRW_shgroup_uniform_vec4_copy(grp, "pColor", color);
DRW_shgroup_uniform_float_copy(grp, "pSize", 8.0f * G_draw.block.sizePixel);
DRW_shgroup_uniform_float_copy(grp, "pSize", 8.0f * G_draw.block.size_pixel);
DRW_shgroup_call_procedural_points(grp, NULL, 1);
}
}

View File

@@ -224,7 +224,7 @@ void OVERLAY_grid_cache_init(OVERLAY_Data *vedata)
sh = OVERLAY_shader_grid_background();
grp = DRW_shgroup_create(sh, psl->grid_ps);
float color_back[4];
interp_v4_v4v4(color_back, G_draw.block.colorBackground, G_draw.block.colorGrid, 0.5);
interp_v4_v4v4(color_back, G_draw.block.color_background, G_draw.block.color_grid, 0.5);
DRW_shgroup_uniform_vec4_copy(grp, "color", color_back);
DRW_shgroup_uniform_texture_ref(grp, "depthBuffer", &dtxl->depth);
unit_m4(mat);

View File

@@ -60,10 +60,10 @@ void OVERLAY_edit_metaball_cache_populate(OVERLAY_Data *vedata, Object *ob)
MetaBall *mb = ob->data;
const float *color;
const float *col_radius = G_draw.block.colorMballRadius;
const float *col_radius_select = G_draw.block.colorMballRadiusSelect;
const float *col_stiffness = G_draw.block.colorMballStiffness;
const float *col_stiffness_select = G_draw.block.colorMballStiffnessSelect;
const float *col_radius = G_draw.block.color_mball_radius;
const float *col_radius_select = G_draw.block.color_mball_radius_select;
const float *col_stiffness = G_draw.block.color_mball_stiffness;
const float *col_stiffness_select = G_draw.block.color_mball_stiffness_select;
int select_id = 0;
if (is_select) {

View File

@@ -178,7 +178,7 @@ static void select_cache_init(void *vedata)
if (e_data.context.select_mode & SCE_SELECT_VERTEX) {
DRW_PASS_CREATE(psl->select_id_vert_pass, state);
pd->shgrp_vert = DRW_shgroup_create(sh->select_id_flat, psl->select_id_vert_pass);
DRW_shgroup_uniform_float_copy(pd->shgrp_vert, "sizeVertex", 2 * G_draw.block.sizeVertex);
DRW_shgroup_uniform_float_copy(pd->shgrp_vert, "sizeVertex", 2 * G_draw.block.size_vertex);
}
}

View File

@@ -275,7 +275,7 @@ void workbench_update_world_ubo(WORKBENCH_PrivateData *wpd)
copy_v2_v2(wd.viewport_size_inv, DRW_viewport_invert_size_get());
copy_v3_v3(wd.object_outline_color, wpd->shading.object_outline_color);
wd.object_outline_color[3] = 1.0f;
wd.ui_scale = DRW_state_is_image_render() ? 1.0f : G_draw.block.sizePixel;
wd.ui_scale = DRW_state_is_image_render() ? 1.0f : G_draw.block.size_pixel;
wd.matcap_orientation = (wpd->shading.flag & V3D_SHADING_MATCAP_FLIP_X) != 0;
workbench_studiolight_data_update(wpd, &wd);

View File

@@ -40,154 +40,155 @@ void DRW_globals_update(void)
{
GlobalsUboStorage *gb = &G_draw.block;
UI_GetThemeColor4fv(TH_WIRE, gb->colorWire);
UI_GetThemeColor4fv(TH_WIRE_EDIT, gb->colorWireEdit);
UI_GetThemeColor4fv(TH_ACTIVE, gb->colorActive);
UI_GetThemeColor4fv(TH_SELECT, gb->colorSelect);
UI_COLOR_RGBA_FROM_U8(0x88, 0xFF, 0xFF, 155, gb->colorLibrarySelect);
UI_COLOR_RGBA_FROM_U8(0x55, 0xCC, 0xCC, 155, gb->colorLibrary);
UI_GetThemeColor4fv(TH_TRANSFORM, gb->colorTransform);
UI_GetThemeColor4fv(TH_LIGHT, gb->colorLight);
UI_GetThemeColor4fv(TH_SPEAKER, gb->colorSpeaker);
UI_GetThemeColor4fv(TH_CAMERA, gb->colorCamera);
UI_GetThemeColor4fv(TH_CAMERA_PATH, gb->colorCameraPath);
UI_GetThemeColor4fv(TH_EMPTY, gb->colorEmpty);
UI_GetThemeColor4fv(TH_VERTEX, gb->colorVertex);
UI_GetThemeColor4fv(TH_VERTEX_SELECT, gb->colorVertexSelect);
UI_GetThemeColor4fv(TH_VERTEX_UNREFERENCED, gb->colorVertexUnreferenced);
UI_COLOR_RGBA_FROM_U8(0xB0, 0x00, 0xB0, 0xFF, gb->colorVertexMissingData);
UI_GetThemeColor4fv(TH_EDITMESH_ACTIVE, gb->colorEditMeshActive);
UI_GetThemeColor4fv(TH_EDGE_SELECT, gb->colorEdgeSelect);
UI_GetThemeColor4fv(TH_GP_VERTEX, gb->colorGpencilVertex);
UI_GetThemeColor4fv(TH_GP_VERTEX_SELECT, gb->colorGpencilVertexSelect);
UI_GetThemeColor4fv(TH_WIRE, gb->color_wire);
UI_GetThemeColor4fv(TH_WIRE_EDIT, gb->color_wire_edit);
UI_GetThemeColor4fv(TH_ACTIVE, gb->color_active);
UI_GetThemeColor4fv(TH_SELECT, gb->color_select);
UI_COLOR_RGBA_FROM_U8(0x88, 0xFF, 0xFF, 155, gb->color_library_select);
UI_COLOR_RGBA_FROM_U8(0x55, 0xCC, 0xCC, 155, gb->color_library);
UI_GetThemeColor4fv(TH_TRANSFORM, gb->color_transform);
UI_GetThemeColor4fv(TH_LIGHT, gb->color_light);
UI_GetThemeColor4fv(TH_SPEAKER, gb->color_speaker);
UI_GetThemeColor4fv(TH_CAMERA, gb->color_camera);
UI_GetThemeColor4fv(TH_CAMERA_PATH, gb->color_camera_path);
UI_GetThemeColor4fv(TH_EMPTY, gb->color_empty);
UI_GetThemeColor4fv(TH_VERTEX, gb->color_vertex);
UI_GetThemeColor4fv(TH_VERTEX_SELECT, gb->color_vertex_select);
UI_GetThemeColor4fv(TH_VERTEX_UNREFERENCED, gb->color_vertex_unreferenced);
UI_COLOR_RGBA_FROM_U8(0xB0, 0x00, 0xB0, 0xFF, gb->color_vertex_missing_data);
UI_GetThemeColor4fv(TH_EDITMESH_ACTIVE, gb->color_edit_mesh_active);
UI_GetThemeColor4fv(TH_EDGE_SELECT, gb->color_edge_select);
UI_GetThemeColor4fv(TH_GP_VERTEX, gb->color_gpencil_vertex);
UI_GetThemeColor4fv(TH_GP_VERTEX_SELECT, gb->color_gpencil_vertex_select);
UI_GetThemeColor4fv(TH_EDGE_SEAM, gb->colorEdgeSeam);
UI_GetThemeColor4fv(TH_EDGE_SHARP, gb->colorEdgeSharp);
UI_GetThemeColor4fv(TH_EDGE_CREASE, gb->colorEdgeCrease);
UI_GetThemeColor4fv(TH_EDGE_BEVEL, gb->colorEdgeBWeight);
UI_GetThemeColor4fv(TH_EDGE_FACESEL, gb->colorEdgeFaceSelect);
UI_GetThemeColor4fv(TH_FACE, gb->colorFace);
UI_GetThemeColor4fv(TH_FACE_SELECT, gb->colorFaceSelect);
UI_GetThemeColor4fv(TH_FACE_BACK, gb->colorFaceBack);
UI_GetThemeColor4fv(TH_FACE_FRONT, gb->colorFaceFront);
UI_GetThemeColor4fv(TH_NORMAL, gb->colorNormal);
UI_GetThemeColor4fv(TH_VNORMAL, gb->colorVNormal);
UI_GetThemeColor4fv(TH_LNORMAL, gb->colorLNormal);
UI_GetThemeColor4fv(TH_FACE_DOT, gb->colorFaceDot);
UI_GetThemeColor4fv(TH_SKIN_ROOT, gb->colorSkinRoot);
UI_GetThemeColor4fv(TH_BACK, gb->colorBackground);
UI_GetThemeColor4fv(TH_BACK_GRAD, gb->colorBackgroundGradient);
UI_GetThemeColor4fv(TH_TRANSPARENT_CHECKER_PRIMARY, gb->colorCheckerPrimary);
UI_GetThemeColor4fv(TH_TRANSPARENT_CHECKER_SECONDARY, gb->colorCheckerSecondary);
gb->sizeChecker = UI_GetThemeValuef(TH_TRANSPARENT_CHECKER_SIZE);
UI_GetThemeColor4fv(TH_V3D_CLIPPING_BORDER, gb->colorClippingBorder);
UI_GetThemeColor4fv(TH_EDGE_SEAM, gb->color_edge_seam);
UI_GetThemeColor4fv(TH_EDGE_SHARP, gb->color_edge_sharp);
UI_GetThemeColor4fv(TH_EDGE_CREASE, gb->color_edge_crease);
UI_GetThemeColor4fv(TH_EDGE_BEVEL, gb->color_edge_bweight);
UI_GetThemeColor4fv(TH_EDGE_FACESEL, gb->color_edge_face_select);
UI_GetThemeColor4fv(TH_FACE, gb->color_face);
UI_GetThemeColor4fv(TH_FACE_SELECT, gb->color_face_select);
UI_GetThemeColor4fv(TH_FACE_BACK, gb->color_face_back);
UI_GetThemeColor4fv(TH_FACE_FRONT, gb->color_face_front);
UI_GetThemeColor4fv(TH_NORMAL, gb->color_normal);
UI_GetThemeColor4fv(TH_VNORMAL, gb->color_vnormal);
UI_GetThemeColor4fv(TH_LNORMAL, gb->color_lnormal);
UI_GetThemeColor4fv(TH_FACE_DOT, gb->color_facedot);
UI_GetThemeColor4fv(TH_SKIN_ROOT, gb->color_skinroot);
UI_GetThemeColor4fv(TH_BACK, gb->color_background);
UI_GetThemeColor4fv(TH_BACK_GRAD, gb->color_background_gradient);
UI_GetThemeColor4fv(TH_TRANSPARENT_CHECKER_PRIMARY, gb->color_checker_primary);
UI_GetThemeColor4fv(TH_TRANSPARENT_CHECKER_SECONDARY, gb->color_checker_secondary);
gb->size_checker = UI_GetThemeValuef(TH_TRANSPARENT_CHECKER_SIZE);
UI_GetThemeColor4fv(TH_V3D_CLIPPING_BORDER, gb->color_clipping_border);
/* Custom median color to slightly affect the edit mesh colors. */
interp_v4_v4v4(gb->colorEditMeshMiddle, gb->colorVertexSelect, gb->colorWireEdit, 0.35f);
copy_v3_fl(
gb->colorEditMeshMiddle,
dot_v3v3(gb->colorEditMeshMiddle, (float[3]){0.3333f, 0.3333f, 0.3333f})); /* Desaturate */
interp_v4_v4v4(gb->color_edit_mesh_middle, gb->color_vertex_select, gb->color_wire_edit, 0.35f);
copy_v3_fl(gb->color_edit_mesh_middle,
dot_v3v3(gb->color_edit_mesh_middle,
(float[3]){0.3333f, 0.3333f, 0.3333f})); /* Desaturate */
#ifdef WITH_FREESTYLE
UI_GetThemeColor4fv(TH_FREESTYLE_EDGE_MARK, gb->colorEdgeFreestyle);
UI_GetThemeColor4fv(TH_FREESTYLE_FACE_MARK, gb->colorFaceFreestyle);
UI_GetThemeColor4fv(TH_FREESTYLE_EDGE_MARK, gb->color_edge_freestyle);
UI_GetThemeColor4fv(TH_FREESTYLE_FACE_MARK, gb->color_face_freestyle);
#else
zero_v4(gb->colorEdgeFreestyle);
zero_v4(gb->colorFaceFreestyle);
zero_v4(gb->color_edge_freestyle);
zero_v4(gb->color_face_freestyle);
#endif
UI_GetThemeColor4fv(TH_TEXT, gb->colorText);
UI_GetThemeColor4fv(TH_TEXT_HI, gb->colorTextHi);
UI_GetThemeColor4fv(TH_TEXT, gb->color_text);
UI_GetThemeColor4fv(TH_TEXT_HI, gb->color_text_hi);
/* Bone colors */
UI_GetThemeColor4fv(TH_BONE_POSE, gb->colorBonePose);
UI_GetThemeColor4fv(TH_BONE_POSE_ACTIVE, gb->colorBonePoseActive);
UI_GetThemeColorShade4fv(TH_EDGE_SELECT, 60, gb->colorBoneActive);
UI_GetThemeColorShade4fv(TH_EDGE_SELECT, -20, gb->colorBoneSelect);
UI_GetThemeColorBlendShade4fv(TH_WIRE, TH_BONE_POSE, 0.15f, 0, gb->colorBonePoseActiveUnsel);
UI_GetThemeColorBlendShade3fv(TH_WIRE_EDIT, TH_EDGE_SELECT, 0.15f, 0, gb->colorBoneActiveUnsel);
UI_COLOR_RGBA_FROM_U8(255, 150, 0, 80, gb->colorBonePoseTarget);
UI_COLOR_RGBA_FROM_U8(255, 255, 0, 80, gb->colorBonePoseIK);
UI_COLOR_RGBA_FROM_U8(200, 255, 0, 80, gb->colorBonePoseSplineIK);
UI_COLOR_RGBA_FROM_U8(0, 255, 120, 80, gb->colorBonePoseConstraint);
UI_GetThemeColor4fv(TH_BONE_SOLID, gb->colorBoneSolid);
UI_GetThemeColor4fv(TH_BONE_LOCKED_WEIGHT, gb->colorBoneLocked);
copy_v4_fl4(gb->colorBoneIKLine, 0.8f, 0.5f, 0.0f, 1.0f);
copy_v4_fl4(gb->colorBoneIKLineNoTarget, 0.8f, 0.8f, 0.2f, 1.0f);
copy_v4_fl4(gb->colorBoneIKLineSpline, 0.8f, 0.8f, 0.2f, 1.0f);
UI_GetThemeColor4fv(TH_BONE_POSE, gb->color_bone_pose);
UI_GetThemeColor4fv(TH_BONE_POSE_ACTIVE, gb->color_bone_pose_active);
UI_GetThemeColorShade4fv(TH_EDGE_SELECT, 60, gb->color_bone_active);
UI_GetThemeColorShade4fv(TH_EDGE_SELECT, -20, gb->color_bone_select);
UI_GetThemeColorBlendShade4fv(TH_WIRE, TH_BONE_POSE, 0.15f, 0, gb->color_bone_pose_active_unsel);
UI_GetThemeColorBlendShade3fv(
TH_WIRE_EDIT, TH_EDGE_SELECT, 0.15f, 0, gb->color_bone_active_unsel);
UI_COLOR_RGBA_FROM_U8(255, 150, 0, 80, gb->color_bone_pose_target);
UI_COLOR_RGBA_FROM_U8(255, 255, 0, 80, gb->color_bone_pose_ik);
UI_COLOR_RGBA_FROM_U8(200, 255, 0, 80, gb->color_bone_pose_spline_ik);
UI_COLOR_RGBA_FROM_U8(0, 255, 120, 80, gb->color_bone_pose_constraint);
UI_GetThemeColor4fv(TH_BONE_SOLID, gb->color_bone_solid);
UI_GetThemeColor4fv(TH_BONE_LOCKED_WEIGHT, gb->color_bone_locked);
copy_v4_fl4(gb->color_bone_ik_line, 0.8f, 0.5f, 0.0f, 1.0f);
copy_v4_fl4(gb->color_bone_ik_line_no_target, 0.8f, 0.8f, 0.2f, 1.0f);
copy_v4_fl4(gb->color_bone_ik_line_spline, 0.8f, 0.8f, 0.2f, 1.0f);
/* Curve */
UI_GetThemeColor4fv(TH_HANDLE_FREE, gb->colorHandleFree);
UI_GetThemeColor4fv(TH_HANDLE_AUTO, gb->colorHandleAuto);
UI_GetThemeColor4fv(TH_HANDLE_VECT, gb->colorHandleVect);
UI_GetThemeColor4fv(TH_HANDLE_ALIGN, gb->colorHandleAlign);
UI_GetThemeColor4fv(TH_HANDLE_AUTOCLAMP, gb->colorHandleAutoclamp);
UI_GetThemeColor4fv(TH_HANDLE_SEL_FREE, gb->colorHandleSelFree);
UI_GetThemeColor4fv(TH_HANDLE_SEL_AUTO, gb->colorHandleSelAuto);
UI_GetThemeColor4fv(TH_HANDLE_SEL_VECT, gb->colorHandleSelVect);
UI_GetThemeColor4fv(TH_HANDLE_SEL_ALIGN, gb->colorHandleSelAlign);
UI_GetThemeColor4fv(TH_HANDLE_SEL_AUTOCLAMP, gb->colorHandleSelAutoclamp);
UI_GetThemeColor4fv(TH_NURB_ULINE, gb->colorNurbUline);
UI_GetThemeColor4fv(TH_NURB_VLINE, gb->colorNurbVline);
UI_GetThemeColor4fv(TH_NURB_SEL_ULINE, gb->colorNurbSelUline);
UI_GetThemeColor4fv(TH_NURB_SEL_VLINE, gb->colorNurbSelVline);
UI_GetThemeColor4fv(TH_ACTIVE_SPLINE, gb->colorActiveSpline);
UI_GetThemeColor4fv(TH_HANDLE_FREE, gb->color_handle_free);
UI_GetThemeColor4fv(TH_HANDLE_AUTO, gb->color_handle_auto);
UI_GetThemeColor4fv(TH_HANDLE_VECT, gb->color_handle_vect);
UI_GetThemeColor4fv(TH_HANDLE_ALIGN, gb->color_handle_align);
UI_GetThemeColor4fv(TH_HANDLE_AUTOCLAMP, gb->color_handle_autoclamp);
UI_GetThemeColor4fv(TH_HANDLE_SEL_FREE, gb->color_handle_sel_free);
UI_GetThemeColor4fv(TH_HANDLE_SEL_AUTO, gb->color_handle_sel_auto);
UI_GetThemeColor4fv(TH_HANDLE_SEL_VECT, gb->color_handle_sel_vect);
UI_GetThemeColor4fv(TH_HANDLE_SEL_ALIGN, gb->color_handle_sel_align);
UI_GetThemeColor4fv(TH_HANDLE_SEL_AUTOCLAMP, gb->color_handle_sel_autoclamp);
UI_GetThemeColor4fv(TH_NURB_ULINE, gb->color_nurb_uline);
UI_GetThemeColor4fv(TH_NURB_VLINE, gb->color_nurb_vline);
UI_GetThemeColor4fv(TH_NURB_SEL_ULINE, gb->color_nurb_sel_uline);
UI_GetThemeColor4fv(TH_NURB_SEL_VLINE, gb->color_nurb_sel_vline);
UI_GetThemeColor4fv(TH_ACTIVE_SPLINE, gb->color_active_spline);
UI_GetThemeColor4fv(TH_CFRAME, gb->colorCurrentFrame);
UI_GetThemeColor4fv(TH_CFRAME, gb->color_current_frame);
/* Meta-ball. */
UI_COLOR_RGBA_FROM_U8(0xA0, 0x30, 0x30, 0xFF, gb->colorMballRadius);
UI_COLOR_RGBA_FROM_U8(0xF0, 0xA0, 0xA0, 0xFF, gb->colorMballRadiusSelect);
UI_COLOR_RGBA_FROM_U8(0x30, 0xA0, 0x30, 0xFF, gb->colorMballStiffness);
UI_COLOR_RGBA_FROM_U8(0xA0, 0xF0, 0xA0, 0xFF, gb->colorMballStiffnessSelect);
UI_COLOR_RGBA_FROM_U8(0xA0, 0x30, 0x30, 0xFF, gb->color_mball_radius);
UI_COLOR_RGBA_FROM_U8(0xF0, 0xA0, 0xA0, 0xFF, gb->color_mball_radius_select);
UI_COLOR_RGBA_FROM_U8(0x30, 0xA0, 0x30, 0xFF, gb->color_mball_stiffness);
UI_COLOR_RGBA_FROM_U8(0xA0, 0xF0, 0xA0, 0xFF, gb->color_mball_stiffness_select);
/* Grid */
UI_GetThemeColorShade4fv(TH_GRID, 10, gb->colorGrid);
UI_GetThemeColorShade4fv(TH_GRID, 10, gb->color_grid);
/* Emphasize division lines lighter instead of darker, if background is darker than grid. */
UI_GetThemeColorShade4fv(
TH_GRID,
(gb->colorGrid[0] + gb->colorGrid[1] + gb->colorGrid[2] + 0.12f >
gb->colorBackground[0] + gb->colorBackground[1] + gb->colorBackground[2]) ?
(gb->color_grid[0] + gb->color_grid[1] + gb->color_grid[2] + 0.12f >
gb->color_background[0] + gb->color_background[1] + gb->color_background[2]) ?
20 :
-10,
gb->colorGridEmphasis);
gb->color_grid_emphasis);
/* Grid Axis */
UI_GetThemeColorBlendShade4fv(TH_GRID, TH_AXIS_X, 0.5f, -10, gb->colorGridAxisX);
UI_GetThemeColorBlendShade4fv(TH_GRID, TH_AXIS_Y, 0.5f, -10, gb->colorGridAxisY);
UI_GetThemeColorBlendShade4fv(TH_GRID, TH_AXIS_Z, 0.5f, -10, gb->colorGridAxisZ);
UI_GetThemeColorBlendShade4fv(TH_GRID, TH_AXIS_X, 0.5f, -10, gb->color_grid_axis_x);
UI_GetThemeColorBlendShade4fv(TH_GRID, TH_AXIS_Y, 0.5f, -10, gb->color_grid_axis_y);
UI_GetThemeColorBlendShade4fv(TH_GRID, TH_AXIS_Z, 0.5f, -10, gb->color_grid_axis_z);
UI_GetThemeColorShadeAlpha4fv(TH_TRANSFORM, 0, -80, gb->colorDeselect);
UI_GetThemeColorShadeAlpha4fv(TH_WIRE, 0, -30, gb->colorOutline);
UI_GetThemeColorShadeAlpha4fv(TH_LIGHT, 0, 255, gb->colorLightNoAlpha);
UI_GetThemeColorShadeAlpha4fv(TH_TRANSFORM, 0, -80, gb->color_deselect);
UI_GetThemeColorShadeAlpha4fv(TH_WIRE, 0, -30, gb->color_outline);
UI_GetThemeColorShadeAlpha4fv(TH_LIGHT, 0, 255, gb->color_light_no_alpha);
/* UV colors */
UI_GetThemeColor4fv(TH_UV_SHADOW, gb->colorUVShadow);
UI_GetThemeColor4fv(TH_UV_SHADOW, gb->color_uv_shadow);
gb->sizePixel = U.pixelsize;
gb->sizeObjectCenter = (UI_GetThemeValuef(TH_OBCENTER_DIA) + 1.0f) * U.pixelsize;
gb->sizeLightCenter = (UI_GetThemeValuef(TH_OBCENTER_DIA) + 1.5f) * U.pixelsize;
gb->sizeLightCircle = U.pixelsize * 9.0f;
gb->sizeLightCircleShadow = gb->sizeLightCircle + U.pixelsize * 3.0f;
gb->size_pixel = U.pixelsize;
gb->size_object_center = (UI_GetThemeValuef(TH_OBCENTER_DIA) + 1.0f) * U.pixelsize;
gb->size_light_center = (UI_GetThemeValuef(TH_OBCENTER_DIA) + 1.5f) * U.pixelsize;
gb->size_light_circle = U.pixelsize * 9.0f;
gb->size_light_circle_shadow = gb->size_light_circle + U.pixelsize * 3.0f;
/* M_SQRT2 to be at least the same size of the old square */
gb->sizeVertex = U.pixelsize *
(max_ff(1.0f, UI_GetThemeValuef(TH_VERTEX_SIZE) * (float)M_SQRT2 / 2.0f));
gb->sizeVertexGpencil = U.pixelsize * UI_GetThemeValuef(TH_GP_VERTEX_SIZE);
gb->sizeFaceDot = U.pixelsize * UI_GetThemeValuef(TH_FACEDOT_SIZE);
gb->sizeEdge = U.pixelsize * (1.0f / 2.0f); /* TODO: Theme. */
gb->sizeEdgeFix = U.pixelsize * (0.5f + 2.0f * (2.0f * (gb->sizeEdge * (float)M_SQRT1_2)));
gb->size_vertex = U.pixelsize *
(max_ff(1.0f, UI_GetThemeValuef(TH_VERTEX_SIZE) * (float)M_SQRT2 / 2.0f));
gb->size_vertex_gpencil = U.pixelsize * UI_GetThemeValuef(TH_GP_VERTEX_SIZE);
gb->size_face_dot = U.pixelsize * UI_GetThemeValuef(TH_FACEDOT_SIZE);
gb->size_edge = U.pixelsize * (1.0f / 2.0f); /* TODO: Theme. */
gb->size_edge_fix = U.pixelsize * (0.5f + 2.0f * (2.0f * (gb->size_edge * (float)M_SQRT1_2)));
const float(*screen_vecs)[3] = (float(*)[3])DRW_viewport_screenvecs_get();
for (int i = 0; i < 2; i++) {
copy_v3_v3(gb->screenVecs[i], screen_vecs[i]);
copy_v3_v3(gb->screen_vecs[i], screen_vecs[i]);
}
gb->pixelFac = *DRW_viewport_pixelsize_get();
gb->pixel_fac = *DRW_viewport_pixelsize_get();
/* Deprecated, use drw_view.viewport_size instead */
copy_v2_v2(&gb->sizeViewport[0], DRW_viewport_size_get());
copy_v2_v2(&gb->sizeViewport[2], &gb->sizeViewport[0]);
invert_v2(&gb->sizeViewport[2]);
copy_v2_v2(&gb->size_viewport[0], DRW_viewport_size_get());
copy_v2_v2(&gb->size_viewport[2], &gb->size_viewport[0]);
invert_v2(&gb->size_viewport[2]);
/* Color management. */
{
@@ -328,36 +329,36 @@ int DRW_object_wire_theme_get(Object *ob, ViewLayer *view_layer, float **r_color
if (r_color != NULL) {
if (UNLIKELY(ob->base_flag & BASE_FROM_SET)) {
*r_color = G_draw.block.colorWire;
*r_color = G_draw.block.color_wire;
}
else {
switch (theme_id) {
case TH_WIRE_EDIT:
*r_color = G_draw.block.colorWireEdit;
*r_color = G_draw.block.color_wire_edit;
break;
case TH_ACTIVE:
*r_color = G_draw.block.colorActive;
*r_color = G_draw.block.color_active;
break;
case TH_SELECT:
*r_color = G_draw.block.colorSelect;
*r_color = G_draw.block.color_select;
break;
case TH_TRANSFORM:
*r_color = G_draw.block.colorTransform;
*r_color = G_draw.block.color_transform;
break;
case TH_SPEAKER:
*r_color = G_draw.block.colorSpeaker;
*r_color = G_draw.block.color_speaker;
break;
case TH_CAMERA:
*r_color = G_draw.block.colorCamera;
*r_color = G_draw.block.color_camera;
break;
case TH_EMPTY:
*r_color = G_draw.block.colorEmpty;
*r_color = G_draw.block.color_empty;
break;
case TH_LIGHT:
*r_color = G_draw.block.colorLight;
*r_color = G_draw.block.color_light;
break;
default:
*r_color = G_draw.block.colorWire;
*r_color = G_draw.block.color_wire;
break;
}
}

View File

@@ -15,233 +15,233 @@ typedef struct GlobalsUboStorage GlobalsUboStorage;
* have been merged into one engine, there is no reasons to keep these globals out of the overlay
* engine. */
#define UBO_FIRST_COLOR colorWire
#define UBO_LAST_COLOR colorUVShadow
#define UBO_FIRST_COLOR color_wire
#define UBO_LAST_COLOR color_uv_shadow
/* Used as ubo but colors can be directly referenced as well */
/* NOTE: Also keep all color as vec4 and between #UBO_FIRST_COLOR and #UBO_LAST_COLOR. */
struct GlobalsUboStorage {
/* UBOs data needs to be 16 byte aligned (size of vec4) */
float4 colorWire;
float4 colorWireEdit;
float4 colorActive;
float4 colorSelect;
float4 colorLibrarySelect;
float4 colorLibrary;
float4 colorTransform;
float4 colorLight;
float4 colorSpeaker;
float4 colorCamera;
float4 colorCameraPath;
float4 colorEmpty;
float4 colorVertex;
float4 colorVertexSelect;
float4 colorVertexUnreferenced;
float4 colorVertexMissingData;
float4 colorEditMeshActive;
float4 colorEdgeSelect;
float4 colorEdgeSeam;
float4 colorEdgeSharp;
float4 colorEdgeCrease;
float4 colorEdgeBWeight;
float4 colorEdgeFaceSelect;
float4 colorEdgeFreestyle;
float4 colorFace;
float4 colorFaceSelect;
float4 colorFaceFreestyle;
float4 colorGpencilVertex;
float4 colorGpencilVertexSelect;
float4 colorNormal;
float4 colorVNormal;
float4 colorLNormal;
float4 colorFaceDot;
float4 colorSkinRoot;
float4 color_wire;
float4 color_wire_edit;
float4 color_active;
float4 color_select;
float4 color_library_select;
float4 color_library;
float4 color_transform;
float4 color_light;
float4 color_speaker;
float4 color_camera;
float4 color_camera_path;
float4 color_empty;
float4 color_vertex;
float4 color_vertex_select;
float4 color_vertex_unreferenced;
float4 color_vertex_missing_data;
float4 color_edit_mesh_active;
float4 color_edge_select;
float4 color_edge_seam;
float4 color_edge_sharp;
float4 color_edge_crease;
float4 color_edge_bweight;
float4 color_edge_face_select;
float4 color_edge_freestyle;
float4 color_face;
float4 color_face_select;
float4 color_face_freestyle;
float4 color_gpencil_vertex;
float4 color_gpencil_vertex_select;
float4 color_normal;
float4 color_vnormal;
float4 color_lnormal;
float4 color_facedot;
float4 color_skinroot;
float4 colorDeselect;
float4 colorOutline;
float4 colorLightNoAlpha;
float4 color_deselect;
float4 color_outline;
float4 color_light_no_alpha;
float4 colorBackground;
float4 colorBackgroundGradient;
float4 colorCheckerPrimary;
float4 colorCheckerSecondary;
float4 colorClippingBorder;
float4 colorEditMeshMiddle;
float4 color_background;
float4 color_background_gradient;
float4 color_checker_primary;
float4 color_checker_secondary;
float4 color_clipping_border;
float4 color_edit_mesh_middle;
float4 colorHandleFree;
float4 colorHandleAuto;
float4 colorHandleVect;
float4 colorHandleAlign;
float4 colorHandleAutoclamp;
float4 colorHandleSelFree;
float4 colorHandleSelAuto;
float4 colorHandleSelVect;
float4 colorHandleSelAlign;
float4 colorHandleSelAutoclamp;
float4 colorNurbUline;
float4 colorNurbVline;
float4 colorNurbSelUline;
float4 colorNurbSelVline;
float4 colorActiveSpline;
float4 color_handle_free;
float4 color_handle_auto;
float4 color_handle_vect;
float4 color_handle_align;
float4 color_handle_autoclamp;
float4 color_handle_sel_free;
float4 color_handle_sel_auto;
float4 color_handle_sel_vect;
float4 color_handle_sel_align;
float4 color_handle_sel_autoclamp;
float4 color_nurb_uline;
float4 color_nurb_vline;
float4 color_nurb_sel_uline;
float4 color_nurb_sel_vline;
float4 color_active_spline;
float4 colorBonePose;
float4 colorBonePoseActive;
float4 colorBonePoseActiveUnsel;
float4 colorBonePoseConstraint;
float4 colorBonePoseIK;
float4 colorBonePoseSplineIK;
float4 colorBonePoseTarget;
float4 colorBoneSolid;
float4 colorBoneLocked;
float4 colorBoneActive;
float4 colorBoneActiveUnsel;
float4 colorBoneSelect;
float4 colorBoneIKLine;
float4 colorBoneIKLineNoTarget;
float4 colorBoneIKLineSpline;
float4 color_bone_pose;
float4 color_bone_pose_active;
float4 color_bone_pose_active_unsel;
float4 color_bone_pose_constraint;
float4 color_bone_pose_ik;
float4 color_bone_pose_spline_ik;
float4 color_bone_pose_target;
float4 color_bone_solid;
float4 color_bone_locked;
float4 color_bone_active;
float4 color_bone_active_unsel;
float4 color_bone_select;
float4 color_bone_ik_line;
float4 color_bone_ik_line_no_target;
float4 color_bone_ik_line_spline;
float4 colorText;
float4 colorTextHi;
float4 color_text;
float4 color_text_hi;
float4 colorBundleSolid;
float4 color_bundle_solid;
float4 colorMballRadius;
float4 colorMballRadiusSelect;
float4 colorMballStiffness;
float4 colorMballStiffnessSelect;
float4 color_mball_radius;
float4 color_mball_radius_select;
float4 color_mball_stiffness;
float4 color_mball_stiffness_select;
float4 colorCurrentFrame;
float4 color_current_frame;
float4 colorGrid;
float4 colorGridEmphasis;
float4 colorGridAxisX;
float4 colorGridAxisY;
float4 colorGridAxisZ;
float4 color_grid;
float4 color_grid_emphasis;
float4 color_grid_axis_x;
float4 color_grid_axis_y;
float4 color_grid_axis_z;
float4 colorFaceBack;
float4 colorFaceFront;
float4 color_face_back;
float4 color_face_front;
float4 colorUVShadow;
float4 color_uv_shadow;
/* NOTE: Put all color before #UBO_LAST_COLOR. */
float4 screenVecs[2]; /* Padded as vec4. */
float4 sizeViewport; /* Packed as vec4. */
float4 screen_vecs[2]; /* Padded as vec4. */
float4 size_viewport; /* Packed as vec4. */
/* Pack individual float at the end of the buffer to avoid alignment errors */
float sizePixel, pixelFac;
float sizeObjectCenter, sizeLightCenter, sizeLightCircle, sizeLightCircleShadow;
float sizeVertex, sizeEdge, sizeEdgeFix, sizeFaceDot;
float sizeChecker;
float sizeVertexGpencil;
float size_pixel, pixel_fac;
float size_object_center, size_light_center, size_light_circle, size_light_circle_shadow;
float size_vertex, size_edge, size_edge_fix, size_face_dot;
float size_checker;
float size_vertex_gpencil;
};
BLI_STATIC_ASSERT_ALIGN(GlobalsUboStorage, 16)
#ifdef GPU_SHADER
/* Keep compatibility_with old global scope syntax. */
/* TODO(@fclem) Mass rename and remove the camel case. */
# define colorWire globalsBlock.colorWire
# define colorWireEdit globalsBlock.colorWireEdit
# define colorActive globalsBlock.colorActive
# define colorSelect globalsBlock.colorSelect
# define colorLibrarySelect globalsBlock.colorLibrarySelect
# define colorLibrary globalsBlock.colorLibrary
# define colorTransform globalsBlock.colorTransform
# define colorLight globalsBlock.colorLight
# define colorSpeaker globalsBlock.colorSpeaker
# define colorCamera globalsBlock.colorCamera
# define colorCameraPath globalsBlock.colorCameraPath
# define colorEmpty globalsBlock.colorEmpty
# define colorVertex globalsBlock.colorVertex
# define colorVertexSelect globalsBlock.colorVertexSelect
# define colorVertexUnreferenced globalsBlock.colorVertexUnreferenced
# define colorVertexMissingData globalsBlock.colorVertexMissingData
# define colorEditMeshActive globalsBlock.colorEditMeshActive
# define colorEdgeSelect globalsBlock.colorEdgeSelect
# define colorEdgeSeam globalsBlock.colorEdgeSeam
# define colorEdgeSharp globalsBlock.colorEdgeSharp
# define colorEdgeCrease globalsBlock.colorEdgeCrease
# define colorEdgeBWeight globalsBlock.colorEdgeBWeight
# define colorEdgeFaceSelect globalsBlock.colorEdgeFaceSelect
# define colorEdgeFreestyle globalsBlock.colorEdgeFreestyle
# define colorFace globalsBlock.colorFace
# define colorFaceSelect globalsBlock.colorFaceSelect
# define colorFaceFreestyle globalsBlock.colorFaceFreestyle
# define colorGpencilVertex globalsBlock.colorGpencilVertex
# define colorGpencilVertexSelect globalsBlock.colorGpencilVertexSelect
# define colorNormal globalsBlock.colorNormal
# define colorVNormal globalsBlock.colorVNormal
# define colorLNormal globalsBlock.colorLNormal
# define colorFaceDot globalsBlock.colorFaceDot
# define colorSkinRoot globalsBlock.colorSkinRoot
# define colorDeselect globalsBlock.colorDeselect
# define colorOutline globalsBlock.colorOutline
# define colorLightNoAlpha globalsBlock.colorLightNoAlpha
# define colorBackground globalsBlock.colorBackground
# define colorBackgroundGradient globalsBlock.colorBackgroundGradient
# define colorCheckerPrimary globalsBlock.colorCheckerPrimary
# define colorCheckerSecondary globalsBlock.colorCheckerSecondary
# define colorClippingBorder globalsBlock.colorClippingBorder
# define colorEditMeshMiddle globalsBlock.colorEditMeshMiddle
# define colorHandleFree globalsBlock.colorHandleFree
# define colorHandleAuto globalsBlock.colorHandleAuto
# define colorHandleVect globalsBlock.colorHandleVect
# define colorHandleAlign globalsBlock.colorHandleAlign
# define colorHandleAutoclamp globalsBlock.colorHandleAutoclamp
# define colorHandleSelFree globalsBlock.colorHandleSelFree
# define colorHandleSelAuto globalsBlock.colorHandleSelAuto
# define colorHandleSelVect globalsBlock.colorHandleSelVect
# define colorHandleSelAlign globalsBlock.colorHandleSelAlign
# define colorHandleSelAutoclamp globalsBlock.colorHandleSelAutoclamp
# define colorNurbUline globalsBlock.colorNurbUline
# define colorNurbVline globalsBlock.colorNurbVline
# define colorNurbSelUline globalsBlock.colorNurbSelUline
# define colorNurbSelVline globalsBlock.colorNurbSelVline
# define colorActiveSpline globalsBlock.colorActiveSpline
# define colorBonePose globalsBlock.colorBonePose
# define colorBonePoseActive globalsBlock.colorBonePoseActive
# define colorBonePoseActiveUnsel globalsBlock.colorBonePoseActiveUnsel
# define colorBonePoseConstraint globalsBlock.colorBonePoseConstraint
# define colorBonePoseIK globalsBlock.colorBonePoseIK
# define colorBonePoseSplineIK globalsBlock.colorBonePoseSplineIK
# define colorBonePoseTarget globalsBlock.colorBonePoseTarget
# define colorBoneSolid globalsBlock.colorBoneSolid
# define colorBoneLocked globalsBlock.colorBoneLocked
# define colorBoneActive globalsBlock.colorBoneActive
# define colorBoneActiveUnsel globalsBlock.colorBoneActiveUnsel
# define colorBoneSelect globalsBlock.colorBoneSelect
# define colorBoneIKLine globalsBlock.colorBoneIKLine
# define colorBoneIKLineNoTarget globalsBlock.colorBoneIKLineNoTarget
# define colorBoneIKLineSpline globalsBlock.colorBoneIKLineSpline
# define colorText globalsBlock.colorText
# define colorTextHi globalsBlock.colorTextHi
# define colorBundleSolid globalsBlock.colorBundleSolid
# define colorMballRadius globalsBlock.colorMballRadius
# define colorMballRadiusSelect globalsBlock.colorMballRadiusSelect
# define colorMballStiffness globalsBlock.colorMballStiffness
# define colorMballStiffnessSelect globalsBlock.colorMballStiffnessSelect
# define colorCurrentFrame globalsBlock.colorCurrentFrame
# define colorGrid globalsBlock.colorGrid
# define colorGridEmphasis globalsBlock.colorGridEmphasis
# define colorGridAxisX globalsBlock.colorGridAxisX
# define colorGridAxisY globalsBlock.colorGridAxisY
# define colorGridAxisZ globalsBlock.colorGridAxisZ
# define colorFaceBack globalsBlock.colorFaceBack
# define colorFaceFront globalsBlock.colorFaceFront
# define colorUVShadow globalsBlock.colorUVShadow
# define screenVecs globalsBlock.screenVecs
# define sizeViewport globalsBlock.sizeViewport.xy
# define sizePixel globalsBlock.sizePixel
# define pixelFac globalsBlock.pixelFac
# define sizeObjectCenter globalsBlock.sizeObjectCenter
# define sizeLightCenter globalsBlock.sizeLightCenter
# define sizeLightCircle globalsBlock.sizeLightCircle
# define sizeLightCircleShadow globalsBlock.sizeLightCircleShadow
# define sizeVertex globalsBlock.sizeVertex
# define sizeEdge globalsBlock.sizeEdge
# define sizeEdgeFix globalsBlock.sizeEdgeFix
# define sizeFaceDot globalsBlock.sizeFaceDot
# define sizeChecker globalsBlock.sizeChecker
# define sizeVertexGpencil globalsBlock.sizeVertexGpencil
# define colorWire globalsBlock.color_wire
# define colorWireEdit globalsBlock.color_wire_edit
# define colorActive globalsBlock.color_active
# define colorSelect globalsBlock.color_select
# define colorLibrarySelect globalsBlock.color_library_select
# define colorLibrary globalsBlock.color_library
# define colorTransform globalsBlock.color_transform
# define colorLight globalsBlock.color_light
# define colorSpeaker globalsBlock.color_speaker
# define colorCamera globalsBlock.color_camera
# define colorCameraPath globalsBlock.color_camera_path
# define colorEmpty globalsBlock.color_empty
# define colorVertex globalsBlock.color_vertex
# define colorVertexSelect globalsBlock.color_vertex_select
# define colorVertexUnreferenced globalsBlock.color_vertex_unreferenced
# define colorVertexMissingData globalsBlock.color_vertex_missing_data
# define colorEditMeshActive globalsBlock.color_edit_mesh_active
# define colorEdgeSelect globalsBlock.color_edge_select
# define colorEdgeSeam globalsBlock.color_edge_seam
# define colorEdgeSharp globalsBlock.color_edge_sharp
# define colorEdgeCrease globalsBlock.color_edge_crease
# define colorEdgeBWeight globalsBlock.color_edge_bweight
# define colorEdgeFaceSelect globalsBlock.color_edge_face_select
# define colorEdgeFreestyle globalsBlock.color_edge_freestyle
# define colorFace globalsBlock.color_face
# define colorFaceSelect globalsBlock.color_face_select
# define colorFaceFreestyle globalsBlock.color_face_freestyle
# define colorGpencilVertex globalsBlock.color_gpencil_vertex
# define colorGpencilVertexSelect globalsBlock.color_gpencil_vertex_select
# define colorNormal globalsBlock.color_normal
# define colorVNormal globalsBlock.color_vnormal
# define colorLNormal globalsBlock.color_lnormal
# define colorFaceDot globalsBlock.color_face_dot
# define colorSkinRoot globalsBlock.color_skin_root
# define colorDeselect globalsBlock.color_deselect
# define colorOutline globalsBlock.color_outline
# define colorLightNoAlpha globalsBlock.color_light_no_alpha
# define colorBackground globalsBlock.color_background
# define colorBackgroundGradient globalsBlock.color_background_gradient
# define colorCheckerPrimary globalsBlock.color_checker_primary
# define colorCheckerSecondary globalsBlock.color_checker_secondary
# define colorClippingBorder globalsBlock.color_clipping_border
# define colorEditMeshMiddle globalsBlock.color_edit_mesh_middle
# define colorHandleFree globalsBlock.color_handle_free
# define colorHandleAuto globalsBlock.color_handle_auto
# define colorHandleVect globalsBlock.color_handle_vect
# define colorHandleAlign globalsBlock.color_handle_align
# define colorHandleAutoclamp globalsBlock.color_handle_autoclamp
# define colorHandleSelFree globalsBlock.color_handle_sel_free
# define colorHandleSelAuto globalsBlock.color_handle_sel_auto
# define colorHandleSelVect globalsBlock.color_handle_sel_vect
# define colorHandleSelAlign globalsBlock.color_handle_sel_align
# define colorHandleSelAutoclamp globalsBlock.color_handle_sel_autoclamp
# define colorNurbUline globalsBlock.color_nurb_uline
# define colorNurbVline globalsBlock.color_nurb_vline
# define colorNurbSelUline globalsBlock.color_nurb_sel_uline
# define colorNurbSelVline globalsBlock.color_nurb_sel_vline
# define colorActiveSpline globalsBlock.color_active_spline
# define colorBonePose globalsBlock.color_bone_pose
# define colorBonePoseActive globalsBlock.color_bone_pose_active
# define colorBonePoseActiveUnsel globalsBlock.color_bone_pose_active_unsel
# define colorBonePoseConstraint globalsBlock.color_bone_pose_constraint
# define colorBonePoseIK globalsBlock.color_bone_pose_ik
# define colorBonePoseSplineIK globalsBlock.color_bone_pose_spline_ik
# define colorBonePoseTarget globalsBlock.color_bone_pose_target
# define colorBoneSolid globalsBlock.color_bone_solid
# define colorBoneLocked globalsBlock.color_bone_locked
# define colorBoneActive globalsBlock.color_bone_active
# define colorBoneActiveUnsel globalsBlock.color_bone_active_unsel
# define colorBoneSelect globalsBlock.color_bone_select
# define colorBoneIKLine globalsBlock.color_bone_ik_line
# define colorBoneIKLineNoTarget globalsBlock.color_bone_ik_line_no_target
# define colorBoneIKLineSpline globalsBlock.color_bone_ik_line_spline
# define colorText globalsBlock.color_text
# define colorTextHi globalsBlock.color_text_hi
# define colorBundleSolid globalsBlock.color_bundle_solid
# define colorMballRadius globalsBlock.color_mball_radius
# define colorMballRadiusSelect globalsBlock.color_mball_radius_select
# define colorMballStiffness globalsBlock.color_mball_stiffness
# define colorMballStiffnessSelect globalsBlock.color_mball_stiffness_select
# define colorCurrentFrame globalsBlock.color_current_frame
# define colorGrid globalsBlock.color_grid
# define colorGridEmphasis globalsBlock.color_grid_emphasis
# define colorGridAxisX globalsBlock.color_grid_axis_x
# define colorGridAxisY globalsBlock.color_grid_axis_y
# define colorGridAxisZ globalsBlock.color_grid_axis_z
# define colorFaceBack globalsBlock.color_face_back
# define colorFaceFront globalsBlock.color_face_front
# define colorUVShadow globalsBlock.color_uv_shadow
# define screenVecs globalsBlock.screen_vecs
# define sizeViewport globalsBlock.size_viewport.xy
# define sizePixel globalsBlock.size_pixel
# define pixelFac globalsBlock.pixel_fac
# define sizeObjectCenter globalsBlock.size_object_center
# define sizeLightCenter globalsBlock.size_light_center
# define sizeLightCircle globalsBlock.size_light_circle
# define sizeLightCircleShadow globalsBlock.size_light_circle_shadow
# define sizeVertex globalsBlock.size_vertex
# define sizeEdge globalsBlock.size_edge
# define sizeEdgeFix globalsBlock.size_edge_fix
# define sizeFaceDot globalsBlock.size_face_dot
# define sizeChecker globalsBlock.size_checker
# define sizeVertexGpencil globalsBlock.size_vertex_gpencil
#endif
/* See: 'draw_cache_impl.h' for matching includes. */