Hi Rhino team,
There seems to be a problem with displaying curves that have transparency in their color, when viewed through transparent objects and against any other 3D geometry. Sample below, we are dealing with this problem quite a lot (most buildings have glass openings…)
Here is a short capture to illustrate it:
Thanks, and good catch, you are right, _BringToFront makes it show correctly. It may work as a temporary workaround, but we should not need to do this on every new curve we create to achieve correct display.
Perhaps this observation makes it a quick and easy fix for RMA display devs. Still a bug to me for now Thank you for looking into this.
another way to make the curves display is to tick Color Backfaces option in Display settings. It does affect your material appearance though, but could be an easier workaround. Also I see it is only a problem when then in Rendered mode, Shaded mode seems to work as expected, so I’ll try to type up a youtrack for this.
Edit: RH-71502 Curves with transparency are not visible behind transparent objects in rendered mode
Thanks, another interesting observation/workaround (Color Backfaces). You are right, in several backface color modes curves show through, unfortunately enabling this is more problematic, since most of our models are not water-tight and a lot of surfaces or meshes would actually show backside to camera resulting in a messy display.
The first workaround is better, but not perfect either. In both cases of BringToFront or ColorBackafaces, the curves show but the covering object transparency is completely ignored, not affecting the curve (compared to curves with 0-transparency). Try making several “glass” planes - no effect on the transparent curves diminishing.
So unfortunately for our needs we would need the “real thing”. Thank yor creating the YT item (marked as “Future” though does not make me very hopeful it’s an “easy fix”). Sadly we can’t take full advantage of the very cool transparent color feature because of this.
I can imagine it is a OpenGL limitation that makes this hard to fix but @stevebaer can maybe comment on that.
Thinking about other workarounds: have you tried using an opacity map, like a simple black and white noise image or make the curves renderable with curvepiping?
Not sure about the opacity map, using bitmap to drive material transparency has the same problem…
As for the curve piping, obviously there is no display problem since this uses regular material color/transparency, but in our case the models often have tens of thousands of curves, used to represent the joint lines, tile patterns or even full facade fenestration (depending on scale of the model) - it would be quite heavy and burdensome to use piping.
Hi Jarek -
Just wondering … Does having curves with transparency have a specific purpose?
It seems like you should be able to change the Display Color property of curves from By Layer to black or some value of gray to make those show up?
-wim
Good question. I think it has been discussed here before but can’t find that topic now. In general, simply using lighter grey color to make the curves seem more transparent/less black, instead of black with transparency does not work that well in many cases, especially there we care about most often.
As mentioned earlier we use curves as expressions of patterns, joint lines etc. in rendered display perspective views.
There are a few great advantages of using transparency vs color change. One is it represents quite well curves to appear “thinner than 1 pixel” in given display mode. Another one: they show correctly in cast shadow areas (grey color can “poke through” and be brighter than shadow which is undesirable. Lastly, in diminishing perspective or zoomed out views, non-transparent dense curves just blend into a block of solid color, vs transparent ones blend much smoother and nicer.
Here is a diagram that illustrates the comparison (best viewed in 100% size to catch the differences):