Why does EdgeLighting on patches not work?
Mostrar comentarios más antiguos
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 comentario
Theo
el 26 de Oct. de 2011
Respuesta aceptada
Más respuestas (1)
Walter Roberson
el 24 de Oct. de 2011
1 voto
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 comentario
Theo
el 24 de Oct. de 2011
Categorías
Más información sobre Lighting, Transparency, and Shading en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!