Revision: 75470
http://sourceforge.net/p/brlcad/code/75470
Author: n_reed
Date: 2020-04-20 17:36:15 +0000 (Mon, 20 Apr 2020)
Log Message:
-----------
Take another stab at r74969.
Fix transparency, but without breaking highlight on solid editing. I just
missed updating the last call to dm_draw_display_list for the editing solids on
the first go-around.
Modified Paths:
--------------
brlcad/trunk/src/libdm/dm-generic.c
brlcad/trunk/src/mged/dozoom.c
Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-04-20 15:59:40 UTC (rev 75469)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-04-20 17:36:15 UTC (rev 75470)
@@ -944,6 +944,8 @@
struct solid *sp;
fastf_t ratio;
int ndrawn = 0;
+ int opaque = 0;
+ int opaque_only = EQUAL(transparency_threshold, 1.0);
gdlp = BU_LIST_NEXT(display_list, dl);
while (BU_LIST_NOT_HEAD(gdlp, dl)) {
@@ -956,8 +958,17 @@
if ((sp->s_iflag == UP && !draw_edit) || (sp->s_iflag != UP &&
draw_edit))
continue;
- if (!((sp->s_transparency > transparency_threshold) ||
(EQUAL(sp->s_transparency, transparency_threshold))))
- continue;
+ opaque = EQUAL(sp->s_transparency, 1.0);
+ if (opaque_only) {
+ if (!opaque) {
+ continue;
+ }
+ } else {
+ /* transparent only */
+ if (opaque || !(sp->s_transparency > transparency_threshold ||
EQUAL(sp->s_transparency, transparency_threshold))) {
+ continue;
+ }
+ }
if (dm_get_bound_flag(dmp)) {
ratio = sp->s_size * inv_viewsize;
Modified: brlcad/trunk/src/mged/dozoom.c
===================================================================
--- brlcad/trunk/src/mged/dozoom.c 2020-04-20 15:59:40 UTC (rev 75469)
+++ brlcad/trunk/src/mged/dozoom.c 2020-04-20 17:36:15 UTC (rev 75470)
@@ -35,10 +35,6 @@
#include "./sedit.h"
#include "./mged_dm.h"
-#if defined(HAVE_NEXTAFTER) && !defined(HAVE_DECL_NEXTAFTER)
-extern double nextafter(double x, double y);
-#endif
-
mat_t perspective_mat;
mat_t incr_change;
mat_t modelchanges;
@@ -182,7 +178,7 @@
/* Second, draw transparent stuff */
- ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay,
nextafter(1.0, 0.0), inv_viewsize,
+ ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 0.0,
inv_viewsize,
r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 0,
geometry_default_color, 0,
mged_variables->mv_dlist);
@@ -191,7 +187,7 @@
} else {
- ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 0.0,
inv_viewsize,
+ ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 1.0,
inv_viewsize,
r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 0,
geometry_default_color, 1,
mged_variables->mv_dlist);
@@ -233,7 +229,7 @@
color_scheme->cs_geo_hl[2], 1, 1.0);
- ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, -1.0,
inv_viewsize,
+ ndrawn = dm_draw_display_list(DMP, GEDP->ged_gdp->gd_headDisplay, 1.0,
inv_viewsize,
r, g, b, mged_variables->mv_linewidth,
mged_variables->mv_dlist, 1,
geometry_default_color, 0,
mged_variables->mv_dlist);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits