[Bf-blender-cvs] [4b316e7] master: Draw limit & mist indicators darker for non-active cameras

Julian Eisel noreply at git.blender.org
Thu Nov 5 19:43:59 CET 2015


Commit: 4b316e78b6cd87617e5a445f17ec38c763ba9c9c
Author: Julian Eisel
Date:   Thu Nov 5 19:30:59 2015 +0100
Branches: master
https://developer.blender.org/rB4b316e78b6cd87617e5a445f17ec38c763ba9c9c

Draw limit & mist indicators darker for non-active cameras

Darkens the colors for limit and mist indicators of non-active cameras. This makes it easier to see which indicators belong to the active camera and which don't.
Useful for layouts with multiple cameras.

Requested by the Caminandes team.

===================================================================

M	source/blender/editors/space_view3d/drawobject.c

===================================================================

diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 0e66c6b..4ffbf61 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -1567,7 +1567,7 @@ static void drawlamp(View3D *v3d, RegionView3D *rv3d, Base *base,
 	glPopMatrix();
 }
 
-static void draw_limit_line(float sta, float end, const short dflag, unsigned int col)
+static void draw_limit_line(float sta, float end, const short dflag, const unsigned char col[3])
 {
 	glBegin(GL_LINES);
 	glVertex3f(0.0, 0.0, -sta);
@@ -1578,7 +1578,7 @@ static void draw_limit_line(float sta, float end, const short dflag, unsigned in
 		glPointSize(3.0);
 		glBegin(GL_POINTS);
 		if ((dflag & DRAW_CONSTCOLOR) == 0) {
-			cpack(col);
+			glColor3ubv(col);
 		}
 		glVertex3f(0.0, 0.0, -sta);
 		glVertex3f(0.0, 0.0, -end);
@@ -2084,7 +2084,8 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base
 	float drawsize;
 	MovieClip *clip = BKE_object_movieclip_get(scene, base->object, false);
 
-	const bool is_view = (rv3d->persp == RV3D_CAMOB && ob == v3d->camera);
+	const bool is_active = (ob == v3d->camera);
+	const bool is_view = (rv3d->persp == RV3D_CAMOB && is_active);
 	const bool is_multiview = (scene->r.scemode & R_MULTIVIEW) != 0;
 	const bool is_stereo3d = drawcamera_is_stereo3d(scene, v3d, ob);
 	const bool is_stereo3d_view = (scene->r.views_format == SCE_VIEWS_FORMAT_STEREO_3D);
@@ -2176,7 +2177,7 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base
 	 * for active cameras so the wire can be seen side-on */
 	for (i = 0; i < 2; i++) {
 		if (i == 0) glBegin(GL_LINE_LOOP);
-		else if (i == 1 && (ob == v3d->camera)) glBegin(GL_TRIANGLES);
+		else if (i == 1 && is_active) glBegin(GL_TRIANGLES);
 		else break;
 
 		tvec[0] = shift[0] + ((-0.7f * drawsize) * scale[0]);
@@ -2206,15 +2207,20 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *base
 			glMultMatrixf(nobmat);
 
 			if (cam->flag & CAM_SHOWLIMITS) {
-				draw_limit_line(cam->clipsta, cam->clipend, dflag, 0x77FFFF);
+				const unsigned char col[3] = {128, 128, 60}, col_hi[3] = {255, 255, 120};
+
+				draw_limit_line(cam->clipsta, cam->clipend, dflag, (is_active ? col_hi : col));
 				/* qdn: was yafray only, now also enabled for Blender to be used with defocus composite node */
 				draw_focus_cross(BKE_camera_object_dof_distance(ob), cam->drawsize);
 			}
 
 			if (cam->flag & CAM_SHOWMIST) {
 				World *world = scene->world;
+				const unsigned char col[3] = {128, 128, 128}, col_hi[3] = {255, 255, 255};
+
 				if (world) {
-					draw_limit_line(world->miststa, world->miststa + world->mistdist, dflag, 0xFFFFFF);
+					draw_limit_line(world->miststa, world->miststa + world->mistdist,
+					                dflag, (is_active ? col_hi : col));
 				}
 			}
 			glPopMatrix();




More information about the Bf-blender-cvs mailing list