XGL Test Suite User's Guide
  Cerca solo questo libro
Scarica il manuale in formato PDF

Elliptical Arc Test Descriptions

14

This chapter describes the Elliptical Arc test programs. The following is defined for each test program:
  • Name of the test program
  • Test types (See the section, "Denizen Test Types" on page 2 for the different test types.)
  • Description of the test program
  • Attributes tested by the program
  • Operators tested by the program
  • Output from the test program
· el0
Test Types:CM, INDEX
Description:Renders hollow ellipses utilizing an Index Color Scheme. Ellipses are composed of 360 elliptical open arcs utilizing gcache.
Attributes Tested: XGL_ARC_OPEN
                    XGL_CTX_NURBS_CURVE_APPROX_VAL_
                    XGL_CTX_LINE_COLOR
                    XGL_CTX_SURF_EDGE_FLAG
                    XGL_CURVE_METRIC_VDC
                    XGL_GCACHE
Operators Tested:   xgl_object_create
                    xgl_object_set
                    xgl_gcache_multi_elliptical_arc
                    xgl_context_display_gcache
                    xgl_object_destroy
                    xgl_gcache_multi_elliptical_arc
Output:             The first loop renders rotated ellipses at increments of 30

degrees through 30 degrees past a 360-rotation around their original position such that ellipses appear at rotation angles of 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330, 360, and 390. Each time the rotated ellipses are drawn, the edge color changes per module 7. The second loop renders ellipses in the plane specified by the direction vectors, which indicate rotations around each axis (x, y, and z) in 30-degree increments from 0 - 30 degrees past a 360 rotation around their original position.
· el1
Test Types:CM, INDEX
Description:Draws solid indexed arcs not gcached with one arc per full ellipse. The front color is different than the back surface color.
Attributes Tested: XGL_3D_CTX_SURF_BACK_COLOR
XGL_3D_CTX_SURF_BACK_FILL_STYLE
XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_ARC_SECTOR
XGL_AXIS_X
XGL_CTX_ARC_FILL_STYLE
XGL_CTX_NURBS_CURVE_APPROX
XGL_CTX_NURBS_CURVE_APPROX_VAL
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_COLOR

                    XGL_CTX_SURF_FRONT_FILL_STYLE
                    XGL_CURVE_METRIC_VDC
                    XGL_SURF_FILL_SOLID
Operators Tested:   xgl_object_set
                    xgl_multi_elliptical_arc
Output:             The first loop renders rotated ellipses at increments of

30-360 degrees around their original position so that ellipses appear at rotation angles of 30, 60, 90, 120, 150, 180, 210, 240, 270,300, 330, and 360. Each time the rotated ellipses are drawn, the edge color changes per module 7. The second loop renders ellipses in the plane specified by the direction vectors which indicate rotations around each axis (x, y, and z) in 45-degree increments from 0-720 degrees, and two full rotations around each axis to see if front and back surface colors change as they are rotated to the back.
· el2
Test Types:CM, INDEX
Description:Renders annotation f3d ellipses utilizing an Index Color Scheme. Full ellipses are composed of 90 elliptical open arcs of 4 degrees each utilizing gcache.
Attributes Tested: XGL_ARC_OPEN

Operators Tested: xgl_object_set
Output:.....A loop renders annotation f3d ellipses with different major and minor values so the greatest width and greatest height axis of the ellipses are varied. Edge colors change per module 7.
· el3
Test Types:CM, INDEX
Description:Renders full f3d gcached ellipses using one elliptical arc and clipped dependent on the loop variable. The color of the solid ellipse changes each time the loop variable (the clipping planes) change. The clipping plane combinations tested are (1) XMIN, (2) XMAX, (3) YMIN, (4) YMAX, (5) XMIN in combination with XMAX, and (6) YMIN in combination with YMAX.
Attributes Tested: XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_CLIP_XMAX
XGL_CLIP_XMIN
XGL_CLIP_YMAX
XGL_CLIP_YMIN
XGL_CTX_ARC_FILL_STYLE
XGL_CTX_CLIP_PLANES
XGL_CTX_NURBS_CURVE_APPROX
XGL_CTX_NURBS_CURVE_APPROX_VAL
XGL_CTX_LINE_COLOR
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_COLOR
XGL_CTX_SURF_FRONT_FILL_STYLE
XGL_CTX_VIEW_CLIP_BOUNDS
XGL_CURVE_METRIC_VDC
XGL_GCACHE
XGL_SURF_FILL_SOLID

Operators Used: xgl_object_create

Output:.....The first loop tests XMIN of 60 with all other bounds as normal, that is, XMAX: 600, YMIN: 0, YMAX: 600, ZMIN: 0, and finally, ZMAX: 1. The uppermost bound for the loop is 7. The center points for the seven ellipses are rendered so that we expect the minor diameter to be clipped. The expected clipped minor diameter ranges from a maximum expected visible minor diameter of 6 to a
minium of 0, dependent on the value of the center of the ellipse. The center of the ellipse changes from the XMIN value of 60 to a minimum of 55 and a maximum of 61.
The second loop tests XMAX of 59 with all other bounds as normally defined. The uppermost bound for the loop is 7. The center points for the seven ellipses rendered are the same as the first loop. We expect the second loop to complete the ellipse produced by the first loop but with a different color.
The third loop tests YMIN of 40 with all other bounds as normally defined. Uppermost bound for the loop is 11. The center points for the 11 ellipses are rendered so that we expect the major diameter to be clipped. The expected clipped major diameter ranges from a maximum expected visible major diameter of 10 to a minimum of 0, dependent on the value of the center of the ellipse. The center of the ellipse changes from the XMIN value of 40 to a minimum of 30.
The fourth loop tests YMAX of 39, with all other bounds as normally defined. The uppermost bound for the loop is 11. The center points for the 11 ellipses rendered are the same as the previous loop. We expect the second loop to complete the ellipse produced by the first loop, but with a different color.
The fifth loop tests the combination of clip planes of XMIN in combination with XMAX. XMIN is set to 95, XMAX is set to 105, and all other bounds are as normally would be defined. The uppermost bound for the loop is 18. The center points for the 18 ellipses are rendered so that we expect the minor diameter to be clipped. The expected clipped minor diameter ranges from a maximum expected visible minor diameter of 10 to a minimum of 0, dependent on the value of the center of the ellipse. The center of the ellipse changes from the XMIN value of 95 to a minimum of 90 and a maximum value of 107.
The sixth and final loop tests the combination of clip planes of YMIN in combination with YMAX. YMIN is set to 60, YMAX is set to 70, and all other bounds are as normally would be defined. The uppermost bound for the loop is 26. The center points for the 26 ellipses are rendered so that we expect the major diameter to be clipped. The expected clipped major diameter ranges from a maximum expected visible major diameter of 11 to a minimum of 1, dependent on the value of the center of the ellipse. The center of the ellipse changes from the YMIN value of 60 to a minimum of 50 and a maximum value of 75.
· el4
Test Types:CM, INDEX
Description:Renders 3D elliptical arcs in different planes by applying a rotation around either the y- or z-axis for the first two directional vectors, which determine where the elliptical arc is located inside the plane. The rotations occur in 45 degree increments and are applied in such a way that more than two full revolutions around the axis are represented. Face distinguishing is on, the front color is yellow, and the back color is blue.
Attributes Tested: XGL_CTX_NURBS_CURVE_APPROX

Operators Tested: xgl_object_set
Output:.....Rows of elliptical arcs in a shape similar to a peanut. The ellipses are all yellow for the rotations around the z-axis, but they change to the back color blue for some portion of the rotations around the y-axis.
· el5
Test Types:CM, INDEX
Description:3D gcached multiple clipped elliptical arcs. Clip plane combinations tested are in the order of their appearance: (1) XMIN | YMIN, (2) XMAX | YMAX, (3) XMAX | YMIN, (4) XMIN | YMAX, and finally the clipping combination (5) XMIN | YMIN | XMAX | YMAX.
Attributes Tested: XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_CLIP_XMAX
XGL_CLIP_XMIN
XGL_CLIP_YMAX
XGL_CLIP_YMIN
XGL_CTX_ARC_FILL_STYLE
XGL_CTX_CLIP_PLANES
XGL_CTX_NURBS_CURVE_APPROX
XGL_CTX_NURBS_CURVE_APPROX_VAL
XGL_CTX_LINE_COLOR
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_COLOR
XGL_CTX_SURF_FRONT_FILL_STYLE
XGL_CTX_VIEW_CLIP_BOUNDS
XGL_CURVE_METRIC_VDC
XGL_SURF_FILL_SOLID

Operators Tested: xgl_object_set
Output:.....Renders the first combination in white, the second combination in red, the third combination in green, and the fourth combination in blue. These four combinations are used to render one entire ellipse composed of the white, red, green, and blue partitions as a result of the clipping scheme. The final clipping combination renders elliptical arcs clipped on four sides, where each successive arc is rendered vertically beneath the previous arc.