Why is zbuffer no longer available in 2014b? I need it. Thanks!
7 views (last 30 days)
Show older comments
I installed matlab 2014b and when opening an old figure it looked much different, and then I realized it was now rendered with OpenGL when it used to be in zbuffer. But surprisingly, in release 2014b, the zbuffer option is no longer available! (at least in the dropdown list of the property inspector). Only painters and OpenGL. Why did you remove zbuffer? I need it! Thanks.
Accepted Answer
Mike Garrity
on 6 Jan 2015
One of the problems we were trying to fix with the new graphics system was the fact that each of the renderers was missing a bunch of features.
For example, opengl supported alpha, but painters and zbuffer did not, while painters and zbuffer supported log scales, but opengl did not. This made it very difficult to combine different features because you'd have to hunt for a renderer which supported the combination you wanted.
In R2014b we did a lot of work to get painters and opengl to support all of the different features. We could have (and still could) do similar work to add all of these features to zbuffer, but it didn't seem like that was worthwhile because of how much softwareopengl has improved. Now that opengl supports all of the features it used to be missing, it seemed like the only point of zbuffer was that it wasn't dependent on graphics card drivers, and softwareopengl takes care of that.
4 Comments
Joseph Allen
on 30 Sep 2016
that's great that opengl is getting better, but that doesn't justify dropping support for something that works better in our existing code. is zbuffer really that difficult to continue support? zbuffer does a better job rendering 3d data without errors in the surface. attached an example. this is not some extreme case; opengl typically does a poor job rendering a complete 3d surface. i don't understand how dropping support was even consider an option >:{
tim .
on 16 Feb 2017
Hello,
Tim
More Answers (1)
Mariano
on 9 Jan 2015
1 Comment
Mike Garrity
on 12 Jan 2015
Edited: Mike Garrity
on 12 Jan 2015
That sounds like the new ClippingStyle property. You can set it to either 'rectangle', to get the behavior that zbuffer was giving you, or '3dbox' to clip against the ZLim. Consider this example:
line([0 1],[0 1],[0 1])
xlim([0 1])
ylim([0 1])
zlim([.25 .75])
Now setting ClippingStyle to 3dbox (the default) yields this:
set(gca,'ClippingStyle','3dbox')
And setting ClippingStyle to rectangle yields this:
set(gca,'ClippingStyle','rectangle')
It's a little more complicated than this because all of the renderers had bugs in this area in earlier releases, but I think that you probably want to be using ClippingStyle instead of Renderer.
See Also
Categories
Find more on Graphics Performance in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!