Mercurial > hg > octave-lyh
comparison src/graphics/opengl/gl-render.cc @ 7870:b1823dfd6ec7
style fixes
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 05 Jun 2008 01:29:26 -0400 |
parents | 35e8d6199455 |
children |
comparison
equal
deleted
inserted
replaced
7869:e6d5532f760e | 7870:b1823dfd6ec7 |
---|---|
40 AXE_ANY_DIR = 0, | 40 AXE_ANY_DIR = 0, |
41 AXE_DEPTH_DIR = 1, | 41 AXE_DEPTH_DIR = 1, |
42 AXE_HORZ_DIR = 2, | 42 AXE_HORZ_DIR = 2, |
43 AXE_VERT_DIR = 3 | 43 AXE_VERT_DIR = 3 |
44 }; | 44 }; |
45 | |
46 static octave_idx_type | |
47 xmin (octave_idx_type x, octave_idx_type y) | |
48 { | |
49 return x < y ? x : y; | |
50 } | |
45 | 51 |
46 class | 52 class |
47 opengl_texture | 53 opengl_texture |
48 { | 54 { |
49 protected: | 55 protected: |
240 | 246 |
241 void add_vertex (double *loc, void *data) const | 247 void add_vertex (double *loc, void *data) const |
242 { gluTessVertex (glu_tess, loc, data); } | 248 { gluTessVertex (glu_tess, loc, data); } |
243 | 249 |
244 protected: | 250 protected: |
245 virtual void begin (GLenum type) { } | 251 virtual void begin (GLenum /*type*/) { } |
246 | 252 |
247 virtual void end (void) { } | 253 virtual void end (void) { } |
248 | 254 |
249 virtual void vertex (void *data) { } | 255 virtual void vertex (void */*data*/) { } |
250 | 256 |
251 virtual void combine (GLdouble c[3], void *data[4], | 257 virtual void combine (GLdouble /*c*/[3], void */*data*/[4], |
252 GLfloat w[4], void **out_data) { } | 258 GLfloat /*w*/[4], void **/*out_data*/) { } |
253 | 259 |
254 virtual void edge_flag (GLboolean flag) { } | 260 virtual void edge_flag (GLboolean /*flag*/) { } |
255 | 261 |
256 virtual void error (GLenum err) | 262 virtual void error (GLenum err) |
257 { ::error ("OpenGL tesselation error (%d)", err); } | 263 { ::error ("OpenGL tesselation error (%d)", err); } |
258 | 264 |
259 virtual void init (void) | 265 virtual void init (void) |
596 // draw axes object | 602 // draw axes object |
597 | 603 |
598 Matrix xlim = xform.xscale (props.get_xlim ().matrix_value ()); | 604 Matrix xlim = xform.xscale (props.get_xlim ().matrix_value ()); |
599 Matrix ylim = xform.yscale (props.get_ylim ().matrix_value ()); | 605 Matrix ylim = xform.yscale (props.get_ylim ().matrix_value ()); |
600 Matrix zlim = xform.zscale (props.get_zlim ().matrix_value ()); | 606 Matrix zlim = xform.zscale (props.get_zlim ().matrix_value ()); |
601 double xmin = xlim(0), xmax = xlim(1); | 607 double x_min = xlim(0), x_max = xlim(1); |
602 double ymin = ylim(0), ymax = ylim(1); | 608 double y_min = ylim(0), y_max = ylim(1); |
603 double zmin = zlim(0), zmax = zlim(1); | 609 double z_min = zlim(0), z_max = zlim(1); |
604 | 610 |
605 double xd = (props.xdir_is ("normal") ? 1 : -1); | 611 double xd = (props.xdir_is ("normal") ? 1 : -1); |
606 double yd = (props.ydir_is ("normal") ? 1 : -1); | 612 double yd = (props.ydir_is ("normal") ? 1 : -1); |
607 double zd = (props.zdir_is ("normal") ? 1 : -1); | 613 double zd = (props.zdir_is ("normal") ? 1 : -1); |
608 | 614 |
609 ColumnVector p1, p2, xv (3), yv (3), zv (3); | 615 ColumnVector p1, p2, xv (3), yv (3), zv (3); |
610 int xstate, ystate, zstate; | 616 int xstate, ystate, zstate; |
611 | 617 |
612 xstate = ystate = zstate = AXE_ANY_DIR; | 618 xstate = ystate = zstate = AXE_ANY_DIR; |
613 | 619 |
614 p1 = xform.transform (xmin, (ymin+ymax)/2, (zmin+zmax)/2, false); | 620 p1 = xform.transform (x_min, (y_min+y_max)/2, (z_min+z_max)/2, false); |
615 p2 = xform.transform (xmax, (ymin+ymax)/2, (zmin+zmax)/2, false); | 621 p2 = xform.transform (x_max, (y_min+y_max)/2, (z_min+z_max)/2, false); |
616 xv(0) = xround (p2(0)-p1(0)); | 622 xv(0) = xround (p2(0)-p1(0)); |
617 xv(1) = xround (p2(1)-p1(1)); | 623 xv(1) = xround (p2(1)-p1(1)); |
618 xv(2) = (p2(2)-p1(2)); | 624 xv(2) = (p2(2)-p1(2)); |
619 if (xv(0) == 0 && xv(1) == 0) | 625 if (xv(0) == 0 && xv(1) == 0) |
620 xstate = AXE_DEPTH_DIR; | 626 xstate = AXE_DEPTH_DIR; |
626 xstate = AXE_HORZ_DIR; | 632 xstate = AXE_HORZ_DIR; |
627 } | 633 } |
628 double xPlane; | 634 double xPlane; |
629 if (xv(2) == 0) | 635 if (xv(2) == 0) |
630 if (xv(1) == 0) | 636 if (xv(1) == 0) |
631 xPlane = (xv(0) > 0 ? xmax : xmin); | 637 xPlane = (xv(0) > 0 ? x_max : x_min); |
632 else | 638 else |
633 xPlane = (xv(1) < 0 ? xmax : xmin); | 639 xPlane = (xv(1) < 0 ? x_max : x_min); |
634 else | 640 else |
635 xPlane = (xv(2) < 0 ? xmin : xmax); | 641 xPlane = (xv(2) < 0 ? x_min : x_max); |
636 double xPlaneN = (xPlane == xmin ? xmax : xmin); | 642 double xPlaneN = (xPlane == x_min ? x_max : x_min); |
637 double fx = (xmax-xmin)/sqrt(xv(0)*xv(0)+xv(1)*xv(1)); | 643 double fx = (x_max-x_min)/sqrt(xv(0)*xv(0)+xv(1)*xv(1)); |
638 | 644 |
639 p1 = xform.transform ((xmin+xmax)/2, ymin, (zmin+zmax)/2, false); | 645 p1 = xform.transform ((x_min+x_max)/2, y_min, (z_min+z_max)/2, false); |
640 p2 = xform.transform ((xmin+xmax)/2, ymax, (zmin+zmax)/2, false); | 646 p2 = xform.transform ((x_min+x_max)/2, y_max, (z_min+z_max)/2, false); |
641 yv(0) = xround (p2(0)-p1(0)); | 647 yv(0) = xround (p2(0)-p1(0)); |
642 yv(1) = xround (p2(1)-p1(1)); | 648 yv(1) = xround (p2(1)-p1(1)); |
643 yv(2) = (p2(2)-p1(2)); | 649 yv(2) = (p2(2)-p1(2)); |
644 if (yv(0) == 0 && yv(1) == 0) | 650 if (yv(0) == 0 && yv(1) == 0) |
645 ystate = AXE_DEPTH_DIR; | 651 ystate = AXE_DEPTH_DIR; |
651 ystate = AXE_HORZ_DIR; | 657 ystate = AXE_HORZ_DIR; |
652 } | 658 } |
653 double yPlane; | 659 double yPlane; |
654 if (yv(2) == 0) | 660 if (yv(2) == 0) |
655 if (yv(1) == 0) | 661 if (yv(1) == 0) |
656 yPlane = (yv(0) > 0 ? ymax : ymin); | 662 yPlane = (yv(0) > 0 ? y_max : y_min); |
657 else | 663 else |
658 yPlane = (yv(1) < 0 ? ymax : ymin); | 664 yPlane = (yv(1) < 0 ? y_max : y_min); |
659 else | 665 else |
660 yPlane = (yv(2) < 0 ? ymin : ymax); | 666 yPlane = (yv(2) < 0 ? y_min : y_max); |
661 double yPlaneN = (yPlane == ymin ? ymax : ymin); | 667 double yPlaneN = (yPlane == y_min ? y_max : y_min); |
662 double fy = (ymax-ymin)/sqrt(yv(0)*yv(0)+yv(1)*yv(1)); | 668 double fy = (y_max-y_min)/sqrt(yv(0)*yv(0)+yv(1)*yv(1)); |
663 | 669 |
664 p1 = xform.transform((xmin+xmax)/2, (ymin+ymax)/2, zmin, false); | 670 p1 = xform.transform((x_min+x_max)/2, (y_min+y_max)/2, z_min, false); |
665 p2 = xform.transform((xmin+xmax)/2, (ymin+ymax)/2, zmax, false); | 671 p2 = xform.transform((x_min+x_max)/2, (y_min+y_max)/2, z_max, false); |
666 zv(0) = xround(p2(0)-p1(0)); | 672 zv(0) = xround(p2(0)-p1(0)); |
667 zv(1) = xround (p2(1)-p1(1)); | 673 zv(1) = xround (p2(1)-p1(1)); |
668 zv(2) = (p2(2)-p1(2)); | 674 zv(2) = (p2(2)-p1(2)); |
669 if (zv(0) == 0 && zv(1) == 0) | 675 if (zv(0) == 0 && zv(1) == 0) |
670 zstate = AXE_DEPTH_DIR; | 676 zstate = AXE_DEPTH_DIR; |
676 zstate = AXE_HORZ_DIR; | 682 zstate = AXE_HORZ_DIR; |
677 } | 683 } |
678 double zPlane; | 684 double zPlane; |
679 if (zv(2) == 0) | 685 if (zv(2) == 0) |
680 if (zv(1) == 0) | 686 if (zv(1) == 0) |
681 zPlane = (zv(0) > 0 ? zmin : zmax); | 687 zPlane = (zv(0) > 0 ? z_min : z_max); |
682 else | 688 else |
683 zPlane = (zv(1) < 0 ? zmin : zmax); | 689 zPlane = (zv(1) < 0 ? z_min : z_max); |
684 else | 690 else |
685 zPlane = (zv(2) < 0 ? zmin : zmax); | 691 zPlane = (zv(2) < 0 ? z_min : z_max); |
686 double zPlaneN = (zPlane == zmin ? zmax : zmin); | 692 double zPlaneN = (zPlane == z_min ? z_max : z_min); |
687 double fz = (zmax-zmin)/sqrt(zv(0)*zv(0)+zv(1)*zv(1)); | 693 double fz = (z_max-z_min)/sqrt(zv(0)*zv(0)+zv(1)*zv(1)); |
688 | 694 |
689 bool mode2d = (((xstate > AXE_DEPTH_DIR ? 1 : 0) + | 695 bool mode2d = (((xstate > AXE_DEPTH_DIR ? 1 : 0) + |
690 (ystate > AXE_DEPTH_DIR ? 1 : 0) + | 696 (ystate > AXE_DEPTH_DIR ? 1 : 0) + |
691 (zstate > AXE_DEPTH_DIR ? 1 : 0)) == 2); | 697 (zstate > AXE_DEPTH_DIR ? 1 : 0)) == 2); |
692 if (props.tickdirmode_is ("auto")) | 698 if (props.tickdirmode_is ("auto")) |
747 set_polygon_offset (true, 2.5); | 753 set_polygon_offset (true, 2.5); |
748 | 754 |
749 glBegin (GL_QUADS); | 755 glBegin (GL_QUADS); |
750 | 756 |
751 // X plane | 757 // X plane |
752 glVertex3d (xPlane, ymin, zmin); | 758 glVertex3d (xPlane, y_min, z_min); |
753 glVertex3d (xPlane, ymax, zmin); | 759 glVertex3d (xPlane, y_max, z_min); |
754 glVertex3d (xPlane, ymax, zmax); | 760 glVertex3d (xPlane, y_max, z_max); |
755 glVertex3d (xPlane, ymin, zmax); | 761 glVertex3d (xPlane, y_min, z_max); |
756 | 762 |
757 // Y plane | 763 // Y plane |
758 glVertex3d (xmin, yPlane, zmin); | 764 glVertex3d (x_min, yPlane, z_min); |
759 glVertex3d (xmax, yPlane, zmin); | 765 glVertex3d (x_max, yPlane, z_min); |
760 glVertex3d (xmax, yPlane, zmax); | 766 glVertex3d (x_max, yPlane, z_max); |
761 glVertex3d (xmin, yPlane, zmax); | 767 glVertex3d (x_min, yPlane, z_max); |
762 | 768 |
763 // Z plane | 769 // Z plane |
764 glVertex3d (xmin, ymin, zPlane); | 770 glVertex3d (x_min, y_min, zPlane); |
765 glVertex3d (xmax, ymin, zPlane); | 771 glVertex3d (x_max, y_min, zPlane); |
766 glVertex3d (xmax, ymax, zPlane); | 772 glVertex3d (x_max, y_max, zPlane); |
767 glVertex3d (xmin, ymax, zPlane); | 773 glVertex3d (x_min, y_max, zPlane); |
768 | 774 |
769 glEnd (); | 775 glEnd (); |
770 | 776 |
771 set_polygon_offset (false); | 777 set_polygon_offset (false); |
772 } | 778 } |
2188 Matrix v = xform.scale (props.get_vertices ().matrix_value ()); | 2194 Matrix v = xform.scale (props.get_vertices ().matrix_value ()); |
2189 Matrix c; | 2195 Matrix c; |
2190 Matrix n = props.get_vertexnormals ().matrix_value (); | 2196 Matrix n = props.get_vertexnormals ().matrix_value (); |
2191 Matrix a; | 2197 Matrix a; |
2192 | 2198 |
2193 int nv = v.rows (), vmax = v.columns (); | 2199 int nv = v.rows (); |
2194 int nf = f.rows (), fcmax = f.columns (); | 2200 // int vmax = v.columns (); |
2201 int nf = f.rows (); | |
2202 int fcmax = f.columns (); | |
2195 | 2203 |
2196 bool has_z = (v.columns () > 2); | 2204 bool has_z = (v.columns () > 2); |
2197 bool has_facecolor = false; | 2205 bool has_facecolor = false; |
2198 bool has_facealpha = false; | 2206 bool has_facealpha = false; |
2199 | 2207 |