[Bf-blender-cvs] [591cee2] custom-manipulators: Merge branch 'blender2.8' into custom-manipulators
Julian Eisel
noreply at git.blender.org
Fri Dec 16 01:21:08 CET 2016
Commit: 591cee2707f834af574a0b41db10b9ba7034bca3
Author: Julian Eisel
Date: Fri Dec 16 00:58:06 2016 +0100
Branches: custom-manipulators
https://developer.blender.org/rB591cee2707f834af574a0b41db10b9ba7034bca3
Merge branch 'blender2.8' into custom-manipulators
Conflicts:
source/blender/editors/interface/resources.c
source/blender/editors/space_node/drawnode.c
source/blender/makesrna/intern/rna_wm.c
===================================================================
===================================================================
diff --cc source/blender/blenloader/intern/versioning_270.c
index f10c59f,c9335f6..eba1746
--- a/source/blender/blenloader/intern/versioning_270.c
+++ b/source/blender/blenloader/intern/versioning_270.c
@@@ -1360,59 -1414,5 +1414,44 @@@ void blo_do_versions_270(FileData *fd,
}
}
}
-
- if (!DNA_struct_elem_find(fd->filesdna, "RigidBodyCon", "float", "spring_stiffness_ang_x")) {
- Object *ob;
- for (ob = main->object.first; ob; ob = ob->id.next) {
- RigidBodyCon *rbc = ob->rigidbody_constraint;
- if (rbc) {
- rbc->spring_stiffness_ang_x = 10.0;
- rbc->spring_stiffness_ang_y = 10.0;
- rbc->spring_stiffness_ang_z = 10.0;
- rbc->spring_damping_ang_x = 0.5;
- rbc->spring_damping_ang_y = 0.5;
- rbc->spring_damping_ang_z = 0.5;
- }
- }
- }
}
+
+ {
+ if (!DNA_struct_elem_find(fd->filesdna, "SpaceNode", "float", "backdrop_zoom")) {
+ bScreen *sc;
+ for (sc = main->screen.first; sc; sc = sc->id.next) {
+ ScrArea *sa;
+ for (sa = sc->areabase.first; sa; sa = sa->next) {
+ SpaceLink *sl;
+ for (sl = sa->spacedata.first; sl; sl = sl->next) {
+ if (sl->spacetype == SPACE_NODE) {
+ SpaceNode *snode = (SpaceNode *)sl;
+ snode->backdrop_zoom = 1.0;
+ }
+ if (sl->spacetype == SPACE_SEQ) {
+ SpaceSeq *sseq = (SpaceSeq *)sl;
+ sseq->overdrop_zoom = 1.0;
+ }
+ }
+ }
+ }
+ }
+
+ if (!DNA_struct_elem_find(fd->filesdna, "SpaceIpo", "float", "backdrop_zoom")) {
+ bScreen *sc;
+ for (sc = main->screen.first; sc; sc = sc->id.next) {
+ ScrArea *sa;
+ for (sa = sc->areabase.first; sa; sa = sa->next) {
+ SpaceLink *sl;
+ for (sl = sa->spacedata.first; sl; sl = sl->next) {
+ if (sl->spacetype == SPACE_IPO) {
+ SpaceIpo *sipo = (SpaceIpo *)sl;
+ sipo->backdrop_zoom = 1.0f;
+ sipo->backdrop_opacity = 0.7f;
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --cc source/blender/editors/interface/resources.c
index 2920e5a,73a9ea9..b4b8610
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@@ -2782,26 -2799,21 +2782,35 @@@ void init_userdef_do_versions(void
}
}
- if (!USER_VERSION_ATLEAST(278, 2)) {
+ if (!USER_VERSION_ATLEAST(278, 3)) {
+ for (bTheme *btheme = U.themes.first; btheme; btheme = btheme->next) {
+ /* Keyframe Indicators (were using wrong alpha) */
+ btheme->tv3d.time_keyframe[3] = btheme->tv3d.time_gp_keyframe[3] = 255;
+ btheme->ttime.time_keyframe[3] = btheme->ttime.time_gp_keyframe[3] = 255;
+ }
+ }
+
++ if (!USER_VERSION_ATLEAST(278, 3)) {
+ bTheme *btheme;
+ for (btheme = U.themes.first; btheme; btheme = btheme->next) {
+ rgba_char_args_set_fl(btheme->tui.xaxis, 1.0f, 0.27f, 0.27f, 1.0f); /* red */
+ rgba_char_args_set_fl(btheme->tui.yaxis, 0.27f, 1.0f, 0.27f, 1.0f); /* green */
+ rgba_char_args_set_fl(btheme->tui.zaxis, 0.27f, 0.27f, 1.0f, 1.0f); /* blue */
+ }
+ }
+
/**
* Include next version bump.
*
* (keep this block even if it becomes empty).
*/
{
- for (bTheme *btheme = U.themes.first; btheme; btheme = btheme->next) {
- /* Keyframe Indicators (were using wrong alpha) */
- btheme->tv3d.time_keyframe[3] = btheme->tv3d.time_gp_keyframe[3] = 255;
- btheme->ttime.time_keyframe[3] = btheme->ttime.time_gp_keyframe[3] = 255;
-
++ bTheme *btheme;
++ for (btheme = U.themes.first; btheme; btheme = btheme->next) {
++ rgba_char_args_set_fl(btheme->tui.xaxis, 1.0f, 0.27f, 0.27f, 1.0f); /* red */
++ rgba_char_args_set_fl(btheme->tui.yaxis, 0.27f, 1.0f, 0.27f, 1.0f); /* green */
++ rgba_char_args_set_fl(btheme->tui.zaxis, 0.27f, 0.27f, 1.0f, 1.0f); /* blue */
+ }
}
if (U.pixelsize == 0.0f)
diff --cc source/blender/editors/screen/area.c
index c60c134,19224ed..aae0284
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@@ -59,9 -56,9 +59,10 @@@
#include "ED_screen.h"
#include "ED_screen_types.h"
#include "ED_space_api.h"
+#include "ED_view3d.h"
#include "GPU_immediate.h"
+ #include "GPU_draw.h"
#include "BIF_gl.h"
#include "BIF_glutil.h"
@@@ -2402,77 -2439,54 +2446,96 @@@ void ED_region_grid_draw(ARegion *ar, f
}
}
- /* the fine resolution level */
blendfac = 0.25f * gridsize - floorf(0.25f * gridsize);
CLAMP(blendfac, 0.0f, 1.0f);
- UI_ThemeColorShade(TH_BACK, (int)(20.0f * (1.0f - blendfac)));
- fac = 0.0f;
- glBegin(GL_LINES);
- while (fac < 1.0f) {
- glVertex2f(x1, y1 * (1.0f - fac) + y2 * fac);
- glVertex2f(x2, y1 * (1.0f - fac) + y2 * fac);
- glVertex2f(x1 * (1.0f - fac) + x2 * fac, y1);
- glVertex2f(x1 * (1.0f - fac) + x2 * fac, y2);
- fac += gridstep;
- }
+ int count_fine = 1.0f / gridstep;
+ int count_large = 1.0f / (4.0f * gridstep);
- /* the large resolution level */
- UI_ThemeColor(TH_BACK);
+ if (count_fine > 0) {
+ VertexFormat_clear(format);
+ pos = add_attrib(format, "pos", GL_FLOAT, 2, KEEP_FLOAT);
+ unsigned color = add_attrib(format, "color", GL_FLOAT, 3, KEEP_FLOAT);
+
+ immBindBuiltinProgram(GPU_SHADER_2D_FLAT_COLOR);
+ immBegin(GL_LINES, 4 * count_fine + 4 * count_large);
+
+ float theme_color[3];
+ UI_GetThemeColorShade3fv(TH_BACK, (int)(20.0f * (1.0f - blendfac)), theme_color);
+ immAttrib3fv(color, theme_color);
+ fac = 0.0f;
+
+ /* the fine resolution level */
+ for (int i = 0; i < count_fine; i++) {
+ immVertex2f(pos, x1, y1 * (1.0f - fac) + y2 * fac);
+ immVertex2f(pos, x2, y1 * (1.0f - fac) + y2 * fac);
+ immVertex2f(pos, x1 * (1.0f - fac) + x2 * fac, y1);
+ immVertex2f(pos, x1 * (1.0f - fac) + x2 * fac, y2);
+ fac += gridstep;
+ }
+
+ if (count_large > 0) {
+ UI_GetThemeColor3fv(TH_BACK, theme_color);
+ immAttrib3fv(color, theme_color);
+ fac = 0.0f;
+
+ /* the large resolution level */
+ for (int i = 0; i < count_large; i++) {
+ immVertex2f(pos, x1, y1 * (1.0f - fac) + y2 * fac);
+ immVertex2f(pos, x2, y1 * (1.0f - fac) + y2 * fac);
+ immVertex2f(pos, x1 * (1.0f - fac) + x2 * fac, y1);
+ immVertex2f(pos, x1 * (1.0f - fac) + x2 * fac, y2);
+ fac += 4.0f * gridstep;
+ }
+ }
- fac = 0.0f;
- while (fac < 1.0f) {
- glVertex2f(x1, y1 * (1.0f - fac) + y2 * fac);
- glVertex2f(x2, y1 * (1.0f - fac) + y2 * fac);
- glVertex2f(x1 * (1.0f - fac) + x2 * fac, y1);
- glVertex2f(x1 * (1.0f - fac) + x2 * fac, y2);
- fac += 4.0f * gridstep;
+ immEnd();
+ immUnbindProgram();
}
- glEnd();
}
+/* uses the viewplane from the given camera and draws it as a backdrop */
+void ED_region_draw_backdrop_view3d(const bContext *C, struct Object *camera, const float alpha,
+ const float width, const float height, const float x, const float y,
+ const float zoomx, const float zoomy, const bool draw_background)
+{
+ Main *bmain = CTX_data_main(C);
+ Scene *scene = CTX_data_scene(C);
+ char err_out[256] = "unknown";
+ struct ImBuf *ibuf;
+
+ BKE_scene_update_for_newframe(bmain->eval_ctx, bmain, scene, scene->lay);
+ ibuf = ED_view3d_draw_offscreen_imbuf_simple(scene, camera, width, height, IB_rect,
+ OB_SOLID, false, false, false,
+ R_ADDSKY, 0, (scene->r.scemode & R_FULL_SAMPLE),
+ NULL, NULL, NULL, err_out);
+
+ if (ibuf == NULL)
+ return;
+
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glPushMatrix();
+ glScalef(zoomx, zoomy, 0.0f);
+ glTranslatef(x, y, 0.0f);
+
+ /* draw background */
+ if (draw_background) {
+ char col[4];
+
+ UI_GetThemeColorType4ubv(TH_HIGH_GRAD, SPACE_VIEW3D, col);
+ glColor4ub(UNPACK3(col), alpha * 255);
+ glRectf(0, 0, width, height);
+ }
+ /* draw the imbuf itself */
+ glaDrawImBuf_glsl_ctx(C, ibuf, 0.0f, 0.0f, GL_NEAREST, alpha);
+
+ glPopMatrix();
+ glDisable(GL_BLEND);
+
+ IMB_freeImBuf(ibuf);
+}
+
/* If the area has overlapping regions, it returns visible rect for Region *ar */
/* rect gets returned in local region coordinates */
void ED_region_visible_rect(ARegion *ar, rcti *rect)
diff --cc source/blender/editors/space_node/drawnode.c
index 67e37cb,c3f2d05..2f7586c
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@@ -2183,17 -2184,24 +2184,24 @@@ static void node_composit_backdrop_view
if (node->custom1 == 0) {
const float backdropWidth = backdrop->x;
const float backdropHeight = backdrop->y;
- const float cx = x + snode->zoom * backdropWidth * node->custom3;
- const float cy = y + snode->zoom * backdropHeight * node->custom4;
+ const float cx = x + snode->backdrop_zoom * backdropWidth * node->custom3;
+ const float cy = y + snode->backdrop_zoom * backdropHeight * node->custom4;
- glColor3f(1.0, 1.0, 1.0);
+ VertexFormat* format = immVertexFormat();
+ unsigned pos = add_attrib(format, "pos", GL_FLOAT, 2, KEEP_FLOAT);
+
+ immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
+
+ immUniformColor3f(1.0f, 1.0f, 1.0f);
+
+ immBegin(GL_LINES, 4);
+ immVertex2f(pos, cx - 25, cy - 25);
+ immVertex2f(pos, cx + 25, cy + 25);
+ immVertex2f(pos, cx + 25, cy - 25);
+ immVertex2f(pos, cx - 25, cy + 25);
+ immEnd();
- glBegin(GL_LINES);
- glVertex2f(cx - 25, cy - 25);
- glVertex2f(cx + 25, cy + 25);
- glVertex2f(cx + 25, cy - 25);
- glVertex2f(cx - 25, cy + 25);
- glEnd();
+ immUnbindProgram();
}
}
@@@ -2212,27 -2220,33 +2220,33 @@@ static void node_composit_backdrop_boxm
float cx, cy, x1, x2, x3, x4;
float y1, y2, y3, y4;
-
- glColor3f(1.0, 1.0, 1.0);
-
- cx = x + snode->zoom * backdropWidth * boxmask->x;
- cy = y + snode->zoom * backdropHeight * boxmask->y;
+ cx = x + snode->backdrop_zoom * backdropWidth * boxmask->x;
+ cy = y + snode->backdrop_zoom * backdropHeight * boxmask->y;
- x1 = cx - (cosine * halveBoxWidth + sine * halveBoxHeight) * snode->zoom;
- x2 = cx - (cosine * -halveBoxWidth + sine * halveBoxHeight) * snode->zoom;
- x3 = cx - (co
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list