Surf plot mesh looks jagged when I set FaceAlpha

조회 수: 5 (최근 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
Walter Roberson
Walter Roberson 2018년 5월 12일
Let me think... You are using r2013b or r2014a or so? If so then there was bug having to do with opengl use, which gets enabled automatically when alpha is used.
Hongbo Zhao
Hongbo Zhao 2018년 5월 12일
편집: Walter Roberson 2021년 8월 11일
I'm actually running it on R2018a. In fact when I try the example in the browser it also looks jagged https://www.mathworks.com/help/matlab/ref/surf.html?s_tid=doc_ta

댓글을 달려면 로그인하십시오.

채택된 답변

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
Code
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
software
With hardware
hardware
With hardwarebasic
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
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
Walter Roberson
Walter Roberson 2018년 5월 12일
Setting Alpha at all forces OpenGL to be used.
Jan
Jan 2018년 5월 12일
편집: 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).

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

태그

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by