|
From: Daniel J S. <dan...@ie...> - 2007-01-10 20:47:08
|
Ethan Merritt wrote: > Let me explain the two possibilities I see for a driver that cannot handle transparency. > > (1) Pretend that the style is > "fillstyle solid <density>" > rather than > "fillstyle transparent solid <opacity>" > This is what the PostScript driver is doing. It makes the pair of tori look very pale, > because instead of a mostly transparent surface (opacity=30%) it renders a surface > that is at most 30% saturated with the fullscale color from the colorbar Oh, I see now why what I'm looking at is "sort of transparent". > (2) Ignore the opacity value altogether, yielding full-scale color with no transparency. > I don't think any of the drivers are doing this at the moment, but it would be easy > enough to change. A combination of the two would be fine too, I think. For the most part, go with (2). There may be some utility to (1) if it is acceptable to the user. I would think then that comments like: "Transparency not available: reverting to solid" "Transparency not available: reverting to density approximation" (Use a global variable to only print once for a driver.) Well, is the situation what you are describing in (1) suggesting two different modes? Is that conventional in the graphics field? That is, rather than just "transparent" it should be "opaque" and "saturation"? Then, if one of those don't exist *always* fall back on (2) because the user on his or her own will be able to attempt "saturation" option if "opaque" option didn't work. > I think that implementing transparency on top of X11 is such a hard problem that it would > require a whole graphics project in its own right. And in fact such projects exist. Two > obvious ones we could use are OpenGL, for which prototype gnuplot drivers have been > explored, and wxWidgets, for which we now have a fully developed driver. > > So as I see it, the current best answer to "How can I use transparency with x11?" > is "Use the wxt terminal"! That's certainly an acceptable solution with me. Dan |