OpenGL используется практически каждым компьютером для рисования чего-либо на экране, как и MATLAB (и Octave AFAIK).Поскольку MATLAB использует примитивы OpenGL для построения объектов на экране, вы не можете делать то, что не может делать примитив OpenGL, например, рисовать примитив с различным цветом на каждой стороне.При этом понимании вывод состоит в том, что для того, чтобы делать то, что вы хотите, вам нужно нанести поверхность дважды.
surf(x, y, z, 'FaceColor', 'red') % Plot the surface
hold on
surf(x, y, z-z*0.001, 'FaceColor', 'blue') % Plot the surface