Why does EdgeLighting on patches not work?
Ältere Kommentare anzeigen
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 Kommentar
Theo
am 26 Okt. 2011
Akzeptierte Antwort
Weitere Antworten (1)
Walter Roberson
am 24 Okt. 2011
1 Stimme
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.
1 Kommentar
Theo
am 24 Okt. 2011
Kategorien
Mehr zu Lighting, Transparency, and Shading finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!