There's a bug in the OpenGL renderer that produces faulty face lighting in surface plots, see picture above and http://www.mathworks.com/matlabcentral/newsreader/view_thread/249184 .
This submission contains a function that computes face normal data for the 'VertexNormals' property of the surface that fixes the lighting (facenorm.m) as well as a workaround function that you can just use in place of surf (surfo.m).
Only use this if you get erroneous surface plots and you can't go without OpenGL and flat lighting.
Cite As
Andres (2026). surfo (https://uk.mathworks.com/matlabcentral/fileexchange/23882-surfo), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Created with
R2008b
Compatible with any release
Platform Compatibility
Windows macOS LinuxCategories
Find more on Surface and Mesh Plots in Help Center and MATLAB Answers
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
