# HG changeset patch # User Rik # Date 1389937447 28800 # Node ID 2ed9498e4a74be0c8e58244ea05c2fc1c0ea9cca # Parent 4718af222d9dc7dbd9b5932d1725c9a1864831d8 Change diagonal of FaceColor interpolation for patch objects to match Matlab. * gl-render.cc (draw_patch): Reverse order of vertices passed to OpenGL for FaceColor tesselator. diff -r 4718af222d9d -r 2ed9498e4a74 libinterp/corefcn/gl-render.cc --- a/libinterp/corefcn/gl-render.cc Thu Jan 16 17:54:59 2014 +0000 +++ b/libinterp/corefcn/gl-render.cc Thu Jan 16 21:44:07 2014 -0800 @@ -2337,6 +2337,14 @@ tess.begin_polygon (true); tess.begin_contour (); + // Add vertices in reverse order for Matlab compatibility + for (int j = count_f(i)-1; j > 0; j--) + { + vertex_data::vertex_data_rep *vv = vdata[i+j*fr].get_rep (); + + tess.add_vertex (vv->coords.fortran_vec (), vv); + } + if (count_f(i) > 0) { vertex_data::vertex_data_rep *vv = vdata[i].get_rep (); @@ -2367,14 +2375,6 @@ tess.add_vertex (vv->coords.fortran_vec (), vv); } - // Add remaining vertices. - for (int j = 1; j < count_f(i); j++) - { - vertex_data::vertex_data_rep *vv = vdata[i+j*fr].get_rep (); - - tess.add_vertex (vv->coords.fortran_vec (), vv); - } - tess.end_contour (); tess.end_polygon (); }