Why does EdgeLighting on patches not work?
古いコメントを表示
I'm trying to create a line on a surface with the EdgeLighting property set to phong (for example). An example code would be
[x,y,z] = sphere(40);
S = surf(x,y,z);
P = patch(x(32,:), y(32,:), z(32,:), 'k');
set(S, 'FaceLighting', 'phong', 'EdgeColor', 'none', 'FaceColor', 'inter');
set(P, 'EdgeLighting', 'phong', 'EdgeColor', 'k', 'FaceColor', 'none');
light
However, the line (patch) is not lit. In other words, replacing the ('EdgeLighting', 'phong') option to 'none' does not affect the figure. Does anybody spot the problem?
採用された回答
その他の回答 (1 件)
Walter Roberson
2011 年 10 月 24 日
1 投票
The OpenGL renderer does not support phong; this is documented in the Figure Properties page.
I do not see anything in your code that requires transparency, so you might be able to simply switch to zbuffer rendering of your figure.
カテゴリ
ヘルプ センター および File Exchange で Polygons についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!