Surf plot mesh looks jagged when I set FaceAlpha

7 ビュー (過去 30 日間)
Hongbo Zhao
Hongbo Zhao 2018 年 5 月 11 日
編集済み: Walter Roberson 2021 年 8 月 11 日
Below is the example given in the "surf" documentation. The mesh looks smooth when `FaceAlpha` is not included but it looks jagged when it's transparent. Is this a graphics card issue or can it somehow be fixed?
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = surf(X,Y,Z,'FaceAlpha',0.5)
  2 件のコメント
Hongbo Zhao
Hongbo Zhao 2018 年 5 月 12 日
I'm actually running it on R2018a. In fact when I try the example in the browser it also looks jagged



Leone Campos
Leone Campos 2021 年 8 月 10 日
Based on Jan's answer I was able to solve the problem on my PC (Windows 10) using
opengl hardwarebasic
opengl hardwarebasic
% opengl hardware
% opengl software
[X,Y] = meshgrid(-5:.5:5);
Z = Y.*sin(X) - X.*cos(Y);
s = surf(X,Y,Z,'FaceAlpha','0.5')
With software
With hardware
With hardwarebasic
  1 件のコメント
Hongbo Zhao
Hongbo Zhao 2021 年 8 月 11 日
Thank you @Leone Campos This works perfectly for me (windows 10 + R2021a)! We finally have a solution after 3 years. This is in fact very important since you will often want to show the entire surface with the lines still looking good.


その他の回答 (1 件)

Jan 2018 年 5 月 12 日
It looks nice in my Matlab 2016b/Win10. Setting the Alpha blending enables the OpenGL renderer. If this causes troubles, try:
opengl software
Does this help? Do you have the current versions of the drivers installed? Which OS are you using? Can you post a screenshot such that "looks jagged" gets more clear?
  3 件のコメント
Jan 2018 年 5 月 12 日
@Hongbo Zhao: Thanks for posting the screen shot. This clarifies immediately that this is the expected behavior. Alpha blending works in the OpenGL renderer only, but then the line smoothing is not enabled (for reasons unknown to me).






Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by