Contained Within
Find More Documentation
Featured Support Resources
| PDF로 이 문서 다운로드
Polygon Test Descriptions
22
- This chapter describes the Polygon 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
· pg_simple
-
| Test Types: | INDEX, SM |
| Description: | Draws a four-sided solid fill polygon of point type XGL_PT_F3D twice. The first time the polygon has a facet type of XGL_FACET_COLOR, and the second time it has a facet type of XGL_FACET_NORMAL. |
- Attributes Tested: XGL_CTX_SURF_EDGE_FLAG (FALSE)
-
-
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_SOLID)
- Operators Tested: xgl_object_get,
-
-
xgl_object_set,
xgl_polygon
Output: First draws a yellow square then a red square at the same
position
· pg_simple_rgb
-
| Test Types: | RGB, SM |
| Description: | Same test as pg_simple except that this test is RGB |
- Attributes Tested: XGL_CTX_SURF_EDGE_FLAG (FALSE)
-
-
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_SOLID)
XGL_CTX_SURF_FRONT_COLOR
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: First draws a red square then a cyan square at the same
position
· pg0
-
| Test Types: | RGB, SM |
| Description: | Tests linear depth-cueing of polygons: varies polygon shape and depth, and varies depth-cueing color |
- Attributes Tested: XGL_3D_CTX_DEPTH_CUE_COLOR
- Operators Tested: xgl_object_get
- Output:.....Draws each of the following five general polygons nine times (each time a different depth cue color is used): (1) A square
- (2) A five-sided polygon (3) A triangle and a four-sided polygon (4) A large triangle
- (5) Four polygons with different shapes Some of the rendered polygons appear shaded and some do not.
· pg2
-
| Test Types: | RGB, SM |
| Description: | Tests polygon vertex color interpolation: draws various polygons with XGL_ILLUM_NONE_INTERP_COLOR mode |
- Attributes Tested: XGL_3D_CTX_SURF_FRONT_ILLUMINATION
-
-
(XGL_ILLUM_NONE_INTERP_COLOR)
Operators Tested: xgl_object_set
xgl_polygon
Output: The following seven polygons are rendered one after the
other:
- (1) A shaded square with vertical stripes (2) A shaded square with horizontal stripes (3) A shaded square
- (4) A blue solid square (5) A shaded vertical bow tie with horizontal stripes (6) A blue solid horizontal bow tie
- (7) A shaded triangle with horizontal stripes
· pg3
-
| Test Types: | RGB, SM |
| Description: | Tests polygon XGL_3D_CTX_SURF_GEOM_NORMAL: draws two geometrically identical triangles, one with XGL_GEOM_NORMAL_FIRST_POINTS and one with XGL_GEOM_NORMAL_LAST_POINTS, so one should be front facing and one back facing, turns on face distinguish so they appear in different colors and checks the colors |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_COLOR
-
-
XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_3D_CTX_SURF_GEOM_NORMAL
XGL_CTX_SURF_FRONT_COLOR
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
-
| Output:· pg4 | First draws a red triangle then a blue triangle at the same position |
| Test Types: | INDEX, SM |
| Description: | Tests indexed linear depth-cueing of polygons: varies polygon shape and depth |
- Attributes Tested: XGL_3D_CTX_DEPTH_CUE_MODE
- Operators Tested: xgl_object_get
- Output:.....Draws the following five general polygons one after the other:
- (1) A shaded four-sided polygon (2) A gray solid square
- (3) A gray solid triangle and a gray solid four-sided polygon
- (4) A shaded large triangle (5) Three shaded polygons with different shapes
· pg_cull
-
| Test Types: | INDEX, SM |
| Description: | Tests the three face-culling modes: draws both front- and back-facing polygons and checks that the correct ones are culled in each mode |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_FILL_STYLE
- Operators Tested: xgl_object_get
-
| Output:· pg_cull_z | Renders first a red square and a green square. Then the red square disappears and the green square remains on the screen. Finally, the red square is rendered again and the green square disappears. |
| Test Types: | INDEX, SM |
| Description: | Tests the three face-culling modes with the z-buffer on: draws both front- and back-facing polygons and checks the correct ones are culled in each mode |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE (XGL_HLHSR_Z_BUFFER)
- Operators Tested: xgl_object_get
-
| Output:· pg_cull_rgb | Renders first a red square and a green square. Then the red square disappears and the green square remains on the screen. Finally, the red square is rendered again and the green square disappears. |
| Test Types: | RGB, SM |
| Description: | Tests the three face-culling modes in RGB: draws both front- and back-facing polygons and checks that the correct ones are culled in each mode |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_FILL_STYLE
-
-
(XGL_SURF_FILL_SOLID)
XGL_3D_CTX_SURF_FACE_CULL
XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_SOLID)
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
-
| Output:· pg_cull_z_rgb | Renders first an orange square and a green square. Then the orange square disappears and the green square remains on the screen. Finally, the orange square is rendered again and the green square disappears. |
| Test Types: | RGB, SM |
| Description: | Tests the three face-culling modes in RGB with the z-buffer on: draws both front- and back-facing polygons and checks the correct ones are culled in each mode. |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE (XGL_HLHSR_Z_BUFFER)
- Operators Tested: xgl_object_get
-
| Output:· pg_edge | Renders first an orange square and a green square. Then the orange square disappears and the green square remains on the screen. Finally, the orange square is rendered again and the green square disappears. |
| Test Types: | RGB, SM |
| Description: | Tests that alt-patterned edges for 2D RGB polygons are all drawn exactly correctly and that there are no "holes" inside the polygons. Tries many different colors for the polygon (all colors in color cube for 8-bit rasters). |
- Attributes Tested: XGL_CTX_EDGE_ALT_COLOR
-
-
XGL_CTX_EDGE_COLOR
XGL_CTX_EDGE_PATTERN
XGL_CTX_EDGE_STYLE (XGL_LINE_ALT_PATTERNED)
XGL_CTX_SURF_FRONT_COLOR
XGL_LPAT_DATA
XGL_LPAT_DATA_SIZE
- Operators Tested: xgl_context_get_pixel
-
-
xgl_polygon
Output: For 8-bit rasters, a small solid square with edges is drawn
- many times, each time a different color in the color cube is used as the interior color. For non-8-bit rasters, nothing is rendered.
· pg_edge2
-
| Test Types: | RGB, SM |
| Description: | Tests edge-enable flags for RGB polygons: draws a square with all sixteen combinations of edges and checks for the presence/absence of edges in each case. |
- Attributes Tested: XGL_CTX_EDGE_COLOR
- Operators Tested: xgl_object_get
-
| Output:· pg_edge3 | Draws a green square 16 times, each time with a different combination of edge flags for the four edges |
| Test Types: | RGB, SM |
| Description: | Tests that alt-patterned edges for 3D RGB polygons are all drawn exactly correctly and that there are no "holes" inside the polygons. Tries many different colors for the polygon (all colors in color cube for 8-bit rasters). |
- Attributes Tested: XGL_CTX_EDGE_ALT_COLOR
-
-
XGL_LPAT_DATA
XGL_LPAT_DATA_SIZE
- Operators Tested: xgl_context_get_pixel
-
| Output:· pg_edge4 | For 8-bit rasters, a small solid square with edges is drawn many times, each time a different color in the color cube is used as the interior color. For non-8-bit rasters, nothing is rendered. |
| Test Types: | RGB, CM |
| Description: | Tests edge-enable flags for 3D RGB polygons: cycles through various combinations of edge flag settings |
- Attributes Tested: XGL_CTX_EDGE_COLOR
- Operators Tested: xgl_object_set
-
| Output:· pg_face | Image with sixteen polygons with various edges illuminated |
| Test Types: | INDEX, SM |
| Description: | Tests that polygons are rendered correctly when XGL_3D_CTX_SURF_FACE_DISTINGUISH is TRUE/FALSE and XGL_3D_CTX_SURF_NORMAL_FLIP is TRUE/FALSE |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_FILL_STYLE
- Operators Tested: xgl_object_get
- Output:.....Draws three four-sided polygons three times. The first time, the three polygons consist of (from left to right) one red solid polygon and two green hollow polygons. The second time, the three polygons are all red solid polygons. The third time, the three polygons consist of one green hollow polygon and two red solid polygons.
· pg_face_z
-
| Test Types: | INDEX, SM |
| Description: | Tests that polygons are rendered correctly with the z-buffer on, when XGL_3D_CTX_SURF_FACE_DISTINGUISH is TRUE/FALSE and XGL_3D_CTX_SURF_NORMAL_FLIP is TRUE/FALSE |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE (XGL_HLHSR_Z_BUFFER)
- Operators Tested: xgl_object_get
-
| Output:· pg_face_rgb | Draws three four-sided polygons three times. The first time, the three polygons consist of (from left to right) one red solid polygon and two green hollow polygons. The second time, the three polygons are all red solid polygons. The third time, the three polygons consist of one green hollow polygon and two red solid polygons. |
| Test Types: | RGB, SM |
| Description: | Tests that RGB polygons are rendered correctly when XGL_3D_CTX_SURF_FACE_DISTINGUISH is TRUE/FALSE and XGL_3D_CTX_SURF_NORMAL_FLIP is TRUE/FALSE |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_FILL_STYLE
- Operators Tested: xgl_object_get
-
| Output:· pg_face_z_rgb | Draws three four-sided polygons three times. The first time, the three polygons consist of (from left to right) one orange solid polygon and two green hollow polygons. The second time, the three polygons are all orange solid polygons. The third time, the three polygons consist of one green hollow polygon and two orange solid polygons. |
| Test Types: | RGB, SM |
| Description: | Tests that RGB polygons are rendered correctly with the z-buffer on, when XGL_3D_CTX_SURF_FACE_DISTINGUISH is TRUE/FALSE and XGL_3D_CTX_SURF_NORMAL_FLIP is TRUE/FALSE |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE (XGL_HLHSR_Z_BUFFER)
- Operators Tested: xgl_object_get
-
| Output:· pg_fill | Draws three four-sided polygons three times. The first time, the three polygons consist of (from left to right) one orange solid polygon and two green hollow polygons. The second time, the three polygons are all orange solid polygons. The third time, the three polygons consist of one green hollow polygon and two orange solid polygons. |
| Test Types: | INDEX, SM |
| Description: | Tests various polygon fill styles: solid, hollow, and empty with edge. Draws a few polygons with each fill style and checks that they're solid/hollow polygons. |
- Attributes Tested: XGL_CTX_EDGE_COLOR
-
-
XGL_CTX_EDGE_WIDTH_SCALE_FACTOR
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_FILL_STYLE
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Renders each of the following six general polygons three
- times (solid, hollow, empty with edge), one after the other: (1) A square with the facet type XGL_FACET_COLOR (2) A square with the facet type XGL_FACET_NORMAL (3) Nine triangles
- (4) A self-intersecting polygon with 10 points (5) Two totally overlapping polygons (6) Two partially overlapping polygons
· pg_fill_z
-
| Test Types: | INDEX, SM |
| Description: | Tests various polygon fill styles: solid, hollow, and empty with edge. Draws a few polygons with each fill style and checks that they're solid/hollow polygons. The Z-buffer is on. |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
-
-
XGL_CTX_NEW_FRAME_ACTION
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_FILL_STYLE
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Renders each of the following six general polygons three
- times (solid, hollow, empty with edge), one after the other: (1) A square with the facet type XGL_FACET_COLOR (2) A square with the facet type XGL_FACET_NORMAL (3) Nine triangles
- (4) A self-intersecting polygon with 10 points (5) Two totally overlapping polygons (6) Two partially overlapping polygons
· pg_fill2
-
| Test Types: | INDEX, SM |
| Description: | Draws two polygons with edges on/off and with three different stipple patterns. In each case, checks for the correctness of the edges and the patterns inside. |
- Attributes Tested: XGL_CTX_SURF_EDGE_FLAG
-
-
XGL_CTX_SURF_FPAT
XGL_CTX_SURF_FPAT_POSITION
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_STIPPLE)
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Draws two four-sided white polygons six times, one after
- the other, with the following stipple pattern styles and edge flags:
- (1) Dots stipple pattern, no edge (2) Cross hatch stipple pattern, no edge (3) Dotted screen stipple pattern, no edge (4) Dots stipple pattern with edge (5) Cross hatch stipple pattern with edge (6) Dotted screen stipple pattern with edge
· pg_fill_rgb
-
| Test Types: | RGB, SM |
| Description: | Tests various RGB polygon fill styles: solid, hollow, and empty with edge. Draws a few polygons with each fill style and checks that they're solid/hollow polygons. |
- Attributes Tested: XGL_CTX_EDGE_COLOR
-
-
XGL_CTX_EDGE_WIDTH_SCALE_FACTOR
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_FILL_STYLE
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Renders each of the following six general polygons three
- times (solid, hollow, empty with edge), one after the other: (1) A square with the facet type XGL_FACET_COLOR
- (2) A square with the facet type XGL_FACET_NORMAL (3) Nine triangles
- (4) A self-intersecting polygon with ten points (5) Two totally overlapping polygons (6) Two partially overlapping polygons
· pg_fill_z_rgb
-
| Test Types: | RGB, SM |
| Description: | Tests various RGB polygon fill styles: solid, hollow, and empty with edge. Draws a few polygons with each fill style and checks that they're solid/hollow polygons. The Z-buffer is on. |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
-
-
XGL_CTX_NEW_FRAME_ACTION
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_FILL_STYLE
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Renders each of the following six general polygons three
- times (solid, hollow, empty with edge), one after the other: (1) A square with the facet type XGL_FACET_COLOR (2) A square with the facet type XGL_FACET_NORMAL (3) Nine triangles
- (4) A self-intersecting polygon with ten points (5) Two totally overlapping polygons (6) Two partially overlapping polygons
· pg_fill4
-
| Test Types: | RGB, SM |
| Description: | Draws two 2D RGB polygons with edges on/off and with three different stipple patterns. In each case, checks for the correctness of the edges and the patterns inside. |
- Attributes Tested: XGL_CTX_SURF_EDGE_FLAG
-
-
XGL_CTX_SURF_FPAT
XGL_CTX_SURF_FPAT_POSITION
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_STIPPLE)
- Operators Tested: xgl_object_get
-
-
xgl_object_set
xgl_polygon
Output: Draws two four-sided orange polygons six times, one after
- the other, with the following stipple pattern styles and edge flags:
- (1) Dots stipple pattern, no edge (2) Cross hatch stipple pattern, no edge (3) Dotted screen stipple pattern, no edge (4) Dots stipple pattern with edge (5) Cross hatch stipple pattern with edge (6) Dotted screen stipple pattern with edge
· pg_fill5
-
| Test Types: | RGB, SM |
| Description: | Draws two 2D RGB polygons with three different opaque stipple patterns. In each case, checks for the correctness of the patterns inside. |
- Attributes Tested: XGL_CTX_SURF_FPAT
-
-
XGL_CTX_SURF_FPAT_POSITION
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_OPAQUE_STIPPLE)
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Draws two four-sided orange polygons three times, one
- after the other, with the following opaque stipple pattern styles, on top of a solid fill polygon drawn at the same position:
- (1) Dots stipple pattern (2) Cross hatch stipple pattern (3) Dotted screen stipple pattern
· pg_fill6
-
| Test Types: | RGB, SM |
| Description: | Tests various 2D RGB polygon fill styles: solid, hollow, and empty with edge. Draws a few polygons with each fill style and checks that they're solid/hollow polygons. |
- Attributes Tested: XGL_CTX_EDGE_COLOR
-
-
XGL_CTX_EDGE_WIDTH_SCALE_FACTOR
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_SURF_FRONT_FILL_STYLE
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Renders each of the following six general polygons three
- times (solid, hollow, empty with edge), one after the other: (1) A square with the facet type XGL_FACET_NORMAL (2) A square with the facet type XGL_FACET_COLOR (3) Nine triangles
- (4) A self-intersecting polygon with 10 points (5) Two totally overlapping polygons (6) Two partially overlapping polygons
· pg_fill7
-
| Test Types: | RGB, SM |
| Description: | Draws two 3D RGB polygons with edges on/off and with three different stipple patterns. In each case, checks for the correctness of the edges and the patterns inside. |
- Attributes Tested: XGL_CTX_SURF_EDGE_FLAG
-
-
XGL_CTX_SURF_FPAT
XGL_CTX_SURF_FPAT_POSITION
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_STIPPLE)
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Draws two four-sided orange polygons six times, one after
- the other, with the following stipple pattern styles and edge flags:
- (1) Dots stipple pattern, no edge (2) Cross hatch stipple pattern, no edge (3) Dotted screen stipple pattern, no edge (4) Dots stipple pattern with edge (5) Cross hatch stipple pattern with edge (6) Dotted screen stipple pattern with edge
· pg_fill8
-
| Test Types: | RGB, SM |
| Description: | Draws two 3D RGB polygons with three different opaque stipple patterns. In each case, checks for the correctness of the patterns inside. |
- Attributes Tested: XGL_CTX_SURF_FPAT
-
-
XGL_CTX_SURF_FPAT_POSITION
XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_OPAQUE_STIPPLE)
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Draws two four-sided orange polygons three times, one
- after the other, with the following opaque stipple pattern styles, on top of a solid fill polygon drawn at the same position:
- (1) Dots stipple pattern (2) Cross-hatch stipple pattern (3) Dotted-screen stipple pattern
· pg_back_fill_rgb
-
| Test Types: | RGB, SM |
| Description: | Tests various RGB polygon back fill styles: solid, hollow, and empty with edge. Draws a few polygons with each fill style and checks that they're solid/hollow polygons. |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_FILL_STYLE
- Operators Tested: xgl_object_get
- Output:.....Renders each of the following six general polygons three times (solid, hollow, empty with edge), one after the other: (1) A square with the facet type XGL_FACET_COLOR_NORMAL
- (2) A square with the facet type XGL_FACET_NORMAL
- (3) Nine triangles (4) A self-intersecting polygon with ten points (5) Two totally overlapping polygons (6) Two partially overlapping polygons
· pg_back_fill_z_rgb
-
| Test Types: | RGB, SM |
| Description: | Tests various RGB polygon back-fill styles: solid, hollow, and empty with edge. Draws a few polygons with each fill style and checks that they're solid/hollow polygons. The Z-buffer is on. |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
- Operators Tested: xgl_object_get
- Output:.....Renders each of the following six general polygons three times (solid, hollow, empty with edge), one after the other: (1) A square with the facet type XGL_FACET_COLOR_NORMAL
- (2) A square with the facet type XGL_FACET_NORMAL (3) Nine triangles
- (4) A self-intersecting polygon with ten points (5) Two totally overlapping polygons (6) Two partially overlapping polygons
· pg_fill10
-
| Test Types: | RGB, SM |
| Description: | Draws two 3D RGB polygons with edges on/off and with three different back fill stipple patterns. In each case, checks for the correctness of the edges and the patterns inside. |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_FPAT
-
-
XGL_3D_CTX_SURF_BACK_FPAT_POSITION
XGL_3D_CTX_SURF_FACE_DISTINGUISH
- Operators Tested: xgl_object_get
-
-
xgl_object_set
xgl_polygon
Output: Draws two four-sided orange polygons six times, one after
- the other, with the following stipple pattern styles and edge flags:
- (1) Dots stipple pattern, no edge (2) Cross hatch stipple pattern, no edge (3) Dotted screen stipple pattern, no edge (4) Dots stipple pattern with edge (5) Cross hatch stipple pattern with edge (6) Dotted screen stipple pattern with edge
· pg_fill11
-
| Test Types: | RGB, SM |
| Description: | Draws two 3D RGB back-filled polygons with three different opaque stipple patterns. In each case, checks for the correctness of the patterns inside. |
- Attributes Tested: XGL_3D_CTX_SURF_BACK_FILL_STYLE
- Operators Tested: xgl_object_get
- Output:.....Draws two four-sided orange polygons three times, one after the other, with the following opaque stipple pattern styles, on top of a solid-fill polygon drawn at the same position:
- (1) Dots stipple pattern (2) Cross hatch stipple pattern (3) Dotted screen stipple pattern
· pg_hlhsr
-
| Test Types: | INDEX, SM |
| Description: | Tests the polygon hidden surface removal: draws two polygons at the same position but different depth and checks that only the front one is drawn; tries different depth combinations |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE (XGL_HLHSR_Z_BUFFER)
-
-
XGL_CTX_NEW_FRAME_ACTION
(XGL_CTX_NEW_FRAME_CLEAR |
XGL_CTX_NEW_FRAME_HLHSR_ACTION
Operators Tested: xgl_object_set
xgl_polygon
xgl_context_post
xgl_context_new_frame
Output: Draws four solid polygons (a square, a vertical bow tie, a
- horizontal bow tie, and a triangle) three times, one after the another. The first time they are drawn in red. The second time and the third time, they are drawn in green.
· pg_hlhsr_2
-
| Test Types: | INDEX, SM |
| Description: | Tests the hlhsr polygons with data: clears the Z-buffer to a specific value and then draws a polygon with a different depth; the polygon should only show up if its depth is less than the depth of the Z-buffer; tries different depth combinations |
- Attributes Tested: XGL_3D_CTX_HLHSR_DATA
-
-
XGL_3D_CTX_HLHSR_MODE (XGL_HLHSR_Z_BUFFER)
XGL_CTX_NEW_FRAME_ACTION
(XGL_CTX_NEW_FRAME_CLEAR |
XGL_CTX_NEW_FRAME_HLHSR_ACTION
Operators Tested: xgl_object_set
xgl_polygon
xgl_context_post
xgl_context_new_frame
Output: Draws a red square four times
· pg_hlhsr_3
-
| Test Types: | RGB, SM |
| Description: | Tests the RGB polygon hidden surface removal: draws two polygons at the same position but different depth and checks that only the front one is drawn; tries different depth combinations |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE (XGL_HLHSR_Z_BUFFER)
-
-
XGL_CTX_NEW_FRAME_ACTION
(XGL_CTX_NEW_FRAME_CLEAR |
XGL_CTX_NEW_FRAME_HLHSR_ACTION
Operators Tested: xgl_object_set
xgl_polygon
xgl_context_post
xgl_context_new_frame
Output: Draws four solid polygons (a square, a vertical bow tie, a
- horizontal bow tie, and a triangle) three times, one after the other. The first time they are drawn in orange color. The second time and the third time, they are drawn in green.
· pg_hlhsr_4
-
| Test Types: | RGB, SM |
| Description: | Tests the hlhsr RGB polygons with data: clears the Z-buffer to a specific value and then draws a polygon with a different depth; the polygon should only show up if its depth is less than the depth of the Z-buffer; tries different depth combinations |
- Attributes Tested: XGL_3D_CTX_HLHSR_DATA
- Operators Tested: xgl_object_set
- Output:.....Draws an orange square four times
· pg_intrule
-
| Test Types: | INDEX, SM |
| Description: | Draws various polygons with the XGL_EVEN_ODD interior rule using xgl_polygon(); checks their correctness |
- Attributes Tested: XGL_CTX_SURF_INTERIOR_RULE (XGL_EVEN_ODD)
- Operators Tested: xgl_object_get
-
-
xgl_object_set
xgl_polygon
Output: Draws each of the following five general polygons twice
- (first time using a 3D context, second time using a 2D context):
- (1) A self-intersecting polygon (2) Two totally overlapping squares (3) Two totally overlapping squares that look the same as number 2
- (4) Two partially overlapping polygons (5) A self-intersecting polygon that looks the same as number 1
· pg_intrule2
-
| Test Types: | RGB, SM |
| Description: | Draws various RGB polygons with the XGL_EVEN_ODD interior rule using xgl_polygon(); checks their correctness |
- Attributes Tested: XGL_CTX_SURF_INTERIOR_RULE (XGL_EVEN_ODD)
- Operators Tested: xgl_object_get
- Output:.....Draws each of the following five general polygons twice (first time using a 3D context, second time using a 2D context):
- (1) A self-intersecting polygon (2) Two totally overlapping squares (3) Two totally overlapping squares that look the same as number 2
- (4) Two partially overlapping polygons (5) A self-intersecting polygon that looks the same as number 1
· pg_pttypes
-
| Test Types: | INDEX, SM |
| Description: | Tests that polygons can be rendered using different point types: draws a vertical bow tie using six different point types and checks that they're all drawn correctly; draws a 400-vertex polygon(circle) and checks that it's drawn right |
- Attributes Tested: None
- Operators Tested: xgl_polygon
-
| Output:· pg_pttypes2 | Draws a white vertical bow tie six times at the same position. Finally, a white circle is drawn. |
| Test Types: | RGB, SM |
| Description: | Tests that RGB polygons can be rendered using different point types: draws a vertical bow tie using six different point types and checks that they're all drawn correctly; draws a 400-vertex polygon(circle) and checks that its drawn right. |
- Attributes Tested: None
- Operators Tested: xgl_polygon
-
| Output:· pg_shade | Draws an orange vertical bow tie six times at the same position. Finally, an orange circle is drawn. |
| Test Types: | INDEX, SM |
| Description: | Draws a few different polygons with an ambient light on and checks that they're shaded correctly |
- Attributes Tested: XGL_3D_CTX_LIGHTS
- Operators Tested: xgl_object_get
-
-
xgl_object_set
xgl_polygon
Output: Renders the following seven polygons one after the other:
- (1) A shaded square with vertical stripes (2) A shaded square with horizontal stripes (3) Another shaded square
- (4) A blue solid square (5) A shaded vertical bow tie with horizontal stripes (6) A blue solid horizontal bow tie
- (7) A shaded triangle with horizontal stripes
· pg_shade_z
-
| Test Types: | INDEX, SM |
| Description: | Draws a few different polygons with an ambient light on and checks that they're shaded correctly. The Z-buffer is on. |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
-
-
XGL_3D_CTX_LIGHTS
XGL_3D_CTX_LIGHT_NUM
XGL_3D_CTX_LIGHT_SWITCHES
XGL_3D_CTX_SURF_FRONT_AMBIENT
XGL_3D_CTX_SURF_FRONT_ILLUMINATION
XGL_3D_CTX_SURF_FRONT_LIGHT_COMPONENT
XGL_LIGHT_COLOR
XGL_LIGHT_TYPE
Operators Tested: xgl_object_get
xgl_object_set
xgl_polygon
Output: Renders the following seven polygons one after the other:
- (1) A shaded square with vertical stripes (2) A shaded square with horizontal stripes (3) Another shaded square
- (4) A blue solid square (5) A shaded vertical bow tie with horizontal stripes (6) A blue solid horizontal bow tie
- (7) A shaded triangle with horizontal stripes
· pg_shade_rgb
-
| Test Types: | RGB, SM |
| Description: | Draws a few different RGB polygons with an ambient light on and checks that they're shaded correctly |
- Attributes Tested: XGL_3D_CTX_LIGHTS
- Operators Tested: xgl_object_get
- Output:.....The following six polygons are rendered one after the other:
- (1) A shaded square with vertical stripes (2) A shaded square with horizontal stripes (3) A blue solid square
- (4) A shaded vertical bow tie with horizontal stripes (5) A blue solid horizontal bow tie
- (6) A shaded triangle with horizontal stripes
· pg_shade_z_rgb
-
| Test Types: | RGB, SM |
| Description: | Draws a few different RGB polygons with an ambient light on and checks that they're shaded correctly. The Z-buffer is on. |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
-
-
XGL_3D_CTX_LIGHTS
XGL_3D_CTX_LIGHT_NUM
XGL_3D_CTX_LIGHT_SWITCHES
XGL_3D_CTX_SURF_FRONT_AMBIENT
XGL_3D_CTX_SURF_FRONT_ILLUMINATION
XGL_3D_CTX_SURF_FRONT_LIGHT_COMPONENT
XGL_LIGHT_COLOR
XGL_LIGHT_TYPE
- Operators Tested: xgl_object_get
-
-
xgl_object_set
xgl_polygon
Output: Renders the following six polygons one after the other:
- (1) A shaded square with vertical stripes (2) A shaded square with horizontal stripes (3) A blue solid square
- (4) A shaded vertical bow tie with horizontal stripes (5) A blue solid horizontal bow tie
- (6) A shaded triangle with horizontal stripes
· pg_shade_hlhsr
-
| Test Types: | INDEX, SM |
| Description: | Tests the shaded polygon's hidden surface removal: draws two shaded polygons at the same position but different depth and checks that only the front one is drawn; tries different depth combinations |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
- Operators Tested: xgl_object_set
-
| Output:· pg_shade_hlhsr2 | Draws four shaded polygons (a square, a vertical bow tie, a horizontal bow tie, and a triangle) three times, one after the other |
| Test Types: | RGB, SM |
| Description: | Tests shaded RGB polygon's hidden surface removal: draws two shaded RGB polygons at the same position but different depth and checks that only the front one is drawn; tries different depth combinations |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
-
-
XGL_3D_CTX_SURF_FRONT_AMBIENT
XGL_3D_CTX_SURF_FRONT_ILLUMINATION
XGL_3D_CTX_SURF_FRONT_LIGHT_COMPONENT
XGL_CTX_NEW_FRAME_ACTION
(XGL_CTX_NEW_FRAME_CLEAR |
XGL_CTX_NEW_FRAME_HLHSR_ACTION)
Operators Tested: xgl_object_set
xgl_polygon
xgl_context_post
xgl_context_new_frame
Output: Draws three shaded polygons (a square, a horizontal bow
- tie, and a triangle) three times, one after the other
· gc_pg_cull
-
| Test Types: | INDEX, SM |
| Description: | Tests the three face-culling modes for gcached polygon |
- Attributes Tested: XGL_CTX_SURF_FRONT_FILL_STYLE
-
-
XGL_3D_CTX_SURF_BACK_FILL_STYLE
XGL_3D_CTX_SURF_FRONT_ILLUMINATION
XGL_3D_CTX_SURF_BACK_ILLUMINATION
XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_3D_CTX_SURF_FACE_CULL
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
Output: Draws two polygons, red for front facing and green for
- back facing. These alternate when culling is turned off and on.
· gc_pg_decomp
-
| Test Types: | INDEX, SM |
| Description: | Tests that xgl_gcache_polygon() correctly applies XGL_CTX_SURF_INTERIOR_RULE when drawing gcached polygons. This exercises the gcached_polygon decomposing attribute. |
- Attributes Tested: XGL_GCACHE_DO_POLYGON_DECOMP
-
-
XGL_GCACHE_POLYGON_TYPE
(XGL_POLYGON_COMPLEX)
XGL_CTX_SURF_INTERIOR_RULE
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
Output: Draws various nonconvex (they all have holes) polygons,
all with surface color of default white
· gc_pg_decomp1
-
| Test Types: | INDEX, SM |
| Description: | Tests that xgl_gcache_polygon() correctly decompose odd shaped polygons. |
- Attributes Tested: XGL_GCACHE_DO_POLYGON_DECOMP
- Operators Tested: xgl_object_create
-
-
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
Output: Draws various nonconvex (they all have holes) polygons,
all with blue surface
· gc_pg_decomp_pttypes
-
| Test Types: | INDEX, SM |
| Description: | Tests that gcached polygons can be rendered using different point types: draws a vertical bow tie using two different point types and checks that they're all drawn correctly; draws a 400-vertex polygon (circle) with XGL_GCACHE_DO_POLYGON_DECOMP set and checks that it's drawn right. Also checks |
-
-
XGL_GCACHE_DISPLAY_PRIM_TYPE and
XGL_GCACHE_ORIG_PRIM_TYPE.
Attributes Tested: XGL_GCACHE_DISPLAY_PRIM_TYPE
XGL_GCACHE_DO_POLYGON_DECOMP
XGL_GCACHE_IS_EMPTY
-
-
XGL_GCACHE_ORIG_PRIM_TYPE
XGL_GCACHE_POLYGON_TYPE (XGL_POLYGON_NSI)
XGL_GCACHE_SHOW_DECOMP_EDGES
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws a white vertical bow tie twice at the same position.
Finally, draws a white circle.
· gc_pg_edge4
-
| Test Types: | RGB, CM |
| Description: | 3D polygon edge flags test for gcached polygons; cycles through various combinations of edge flag settings using point flag types |
- Attributes Tested: XGL_CTX_EDGE_COLOR
-
-
XGL_GCACHE_USE_APPL_GEOM
XGL_GCACHE_POLYGON_TYPE (XGL_POLYGON_NSI)
Operators Tested: xgl_context_display_gcache
xgl_gcache_polygon
Output: Draws image with sixteen polygons with various edges
- illuminated; surface color is green, edges are purple
· gc_pg_face
-
| Test Types: | INDEX, SM |
| Description: | Tests that gcached polygons are rendered correctly when |
-
-
XGL_3D_CTX_SURF_FACE_DISTINGUISH is
TRUE/FALSE and XGL_3D_CTX_SURF_NORMAL_FLIP is
TRUE/FALSE
Attributes Tested: XGL_CTX_SURF_FRONT_FILL_STYLE
(XGL_SURF_FILL_SOLID)
XGL_3D_CTX_SURF_BACK_FILL_STYLE
(XGL_SURF_FILL_HOLLOW)
XGL_3D_CTX_SURF_BACK_COLOR
XGL_3D_CTX_SURF_NORMAL_FLIP
XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_GCACHE_POLYGON_TYPE (XGL_POLYGON_NSI)
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws three convex polygons, red solids and/or green
hollow, both front and back facing.
· gc_pg_face2
-
| Test Types: | RGB, SM |
| Description: | Tests that gcached RGB polygons are rendered correctly when XGL_3D_CTX_SURF_FACE_DISTINGUISH is TRUE/FALSE and XGL_3D_CTX_SURF_NORMAL_FLIP is TRUE/FALSE |
- Attributes Tested: XGL_CTX_SURF_FRONT_FILL_STYLE
-
-
(XGL_SURF_FILL_SOLID)
XGL_3D_CTX_SURF_BACK_FILL_STYLE
(XGL_SURF_FILL_HOLLOW)
XGL_3D_CTX_SURF_BACK_COLOR
XGL_3D_CTX_SURF_NORMAL_FLIP
XGL_3D_CTX_SURF_FACE_DISTINGUISH
XGL_GCACHE_POLYGON_TYPE (XGL_POLYGON_NSI)
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws three convex polygons, red solids and/or green
hollow, both front and back facing.
· gc_pg_fill1
-
| Test Types: | INDEX, SM |
| Description: | Tests various gcached polygon fill styles. Uses an array of gcaches to store five point lists; since some are complex polygons, XGL_POLYGON_COMPLEX is set to true. |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
- Operators Tested: xgl_object_create
-
| Output:· gc_pg_fill3 | Draws various polygons, each on a rendering cycle of yellow solid, then yellow hollow, green edges, then red solid, red hollow, green edges, and so on |
| Test Types: | RGB, SM |
| Description: | Tests various RGB gcached polygon fill styles; polygons are either facet normal or facet color type |
- Attributes Tested: XGL_CTX_SURF_FRONT_FILL_STYLE
-
-
XGL_CTX_SURF_FRONT_COLOR
XGL_3D_CTX_HLHSR_MODE
XGL_GCACHE_POLYGON_TYPE
(XGL_POLYGON_COMPLEX)
XGL_CTX_SURF_EDGE_FLAG
XGL_CTX_EDGE_WIDTH_SCALE_FACTOR
XGL_CTX_EDGE_COLOR
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws convex polygons and then overlapping: first in
- orange solid, then orange hollow, then green edges
· gc_pg_fill9
-
| Test Types: | RGB, SM |
| Description: | Tests various RGB gcached polygon back fill styles. The polygons are of type facet color, facet normal, or facet color normal. |
- Attributes Tested: XGL_CTX_EDGE_WIDTH_SCALE_FACTOR
-
-
XGL_3D_CTX_SURF_BACK_FILL_STYLE
XGL_3D_CTX_HLHSR_MODE
XGL_GCACHE_POLYGON_TYPE
(XGL_POLYGON_COMPLEX)
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
-
| Output:· gc_pg_intrule | Draws various polygons rendered first magenta solid then hollow, orange solid then hollow, edge color green, and so on |
| Test Types: | INDEX, SM |
| Description: | Draws various gcached polygons with the XGL_EVEN_ODD interior rule using xgl_gcache_polygon(); checks their correctness |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
-
-
XGL_CTX_SURF_INTERIOR_RULE (XGL_EVEN_ODD)
XGL_GCACHE_POLYGON_TYPE
(XGL_POLYGON_COMPLEX)
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws each of the following five general polygons twice
- (first time with Z-buffer off, second time with Z-buffer on):
- (1) A self-intersecting polygon (2) Two totally overlapping squares (3) Two totally overlapping squares that look the same as number 2
- (4) Two partially overlapping polygons (5) A self-intersecting polygon that looks the same as number 1
· gc_pg_intrule2
-
| Test Types: | RGB, SM |
| Description: | Draws various gcached RGB polygons with the XGL_EVEN_ODD interior rule using xgl_gcache_polygon(); checks their correctness |
- Attributes Tested: XGL_3D_CTX_HLHSR_MODE
-
-
XGL_CTX_SURF_INTERIOR_RULE (XGL_EVEN_ODD)
XGL_GCACHE_POLYGON_TYPE
(XGL_POLYGON_COMPLEX)
- Operators Tested: xgl_object_create
-
-
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws each of the following five general polygons twice
- (first time with Z-buffer off, second time with Z-buffer on):
- (1) A self-intersecting polygon (2) Two totally overlapping squares (3) Two totally overlapping squares that look the same as number 2
- (4) Two partially overlapping polygons (5) A self-intersecting polygon which looks the same as number 1
· gc_pg_pttypes
-
| Test Types: | INDEX, SM |
| Description: | Tests that gcached polygons can be rendered using different point types: draws a vertical bow tie using two different point types and checks that they're all drawn correctly; draws a 400-vertex polygon (circle) and checks that it's drawn right. |
- Attributes Tested: XGL_GCACHE_IS_EMPTY
-
-
XGL_GCACHE_POLYGON_TYPE (XGL_POLYGON_NSI)
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws a white vertical bow tie twice at the same position.
Finally, draws a white circle.
· gc_pg_pttypes2
-
| Test Types: | RGB, SM |
| Description: | Tests that gcached RGB polygons can be rendered using different point types: draws a vertical bow tie using two different point types and checks that they're all drawn correctly; draws a 400-vertex polygon (circle) and checks that it's drawn right. |
- Attributes Tested: XGL_GCACHE_IS_EMPTY
-
-
XGL_GCACHE_POLYGON_TYPE (XGL_POLYGON_NSI)
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
Output: Draws an orange vertical bow tie twice at the same
- position. Finally, draws an orange circle.
· gc_pg_decomp_facet
-
| Test Types: | INDEX, SM |
| Description: | Tests for gcaching complex (nonconvex) polygons with various facet types. The four different kinds of facets are stored with the polygon primitives in the gcache. The default surface color is blue, so red surfaces should be rendered for the facets with color information only. Every time the caches are reused, the program first explicitly sets XGL_GCACHE_IS_EMPTY to TRUE. Also, a check is done to see if decomposition was actually done in the cache. |
- Attributes Tested: XGL_GCACHE_DO_POLYGON_DECOMP
-
-
XGL_GCACHE_DISPLAY_PRIM_TYPE
XGL_GCACHE_ORIG_PRIM_TYPE
XGL_GCACHE_POLYGON_TYPE
(XGL_POLYGON_COMPLEX)
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
Output: Nonconvex polygons, in alternating colors of blue then
red
· gc_pg_decomp_complex
-
| Test Types: | INDEX, SM |
| Description: | Tests for gcached complex multiboundary polygon. Tests cache for XGL_GCACHE_USE_APPL_GEOM, as well as one polygon/cache with multiple (eight) boundaries and greater than 100 points. Index color mode used. |
- Attributes Tested: XGL_GCACHE_DO_POLYGON_DECOMP
-
-
XGL_GCACHE_POLYGON_TYPE
(XGL_POLYGON_COMPLEX)
XGL_GCACHE_IS_EMPTY
XGL_GCACHE_USE_APPL_GEOM
XGL_GCACHE_DISPLAY_PRIM_TYPE
XGL_GCACHE_ORIG_PRIM_TYPE
Operators Tested: xgl_object_create
xgl_object_set
xgl_gcache_polygon
xgl_context_display_gcache
xgl_object_destroy
Output: Draws two columns of nonconvex (horizontal zigzagged)
red polygons
· gc_pg_show_decomp
-
| Test Types: | CM, INDEX |
| Description: | Shows the decomposition of a complex gcached polygon with multiple boundaries, by setting XGL_GCACHE_SHOW_DECOMP_EDGES to true. This also exercises XGL_GCACHE_USE_APPL_GEOM for mode of storage, then renders each image and uses comparison methodology for verifying correctness. Index color mode used. |
- Attributes Tested: XGL_GCACHE_SHOW_DECOMP_EDGES
- Operators Tested: xgl_object_create
-
| Output:· polygon | Nonconvex polygons with blue surfaces and red edges. On the gx, you can see the edges delineating where the tessellation took place. |
| Test Types: | SM, INDEX |
| Description: | Uses various colors and hatch styles to fill four-sided polygons. |
- Attributes Tested: XGL_CTX_SURF_FRONT_COLOR
-
-
XGL_CTX_SURF_FRONT_FILL_STYLE
XGL_CTX_SURF_FRONT_FPAT
Operators Tested: xgl_object_set
xgl_polygon
Output: Draws solid squares of various colors and hatch-styled
squares
· pg_threshold
-
| Test Types: | SM, INDEX |
| Description: | Tests convex and nonconvex polygons and XGL_CTX_THRESHOLD. It also sets the threshold and renders with null bbox (which should render all the shapes). |
- Attributes Tested: XGL_CTX_THRESHOLD
- Operators Tested: xgl_object_set
- Output:.....Renders twelve polygons of different sizes and bounding boxes with threshold values set from 0 to 100 in increments of 20
|
|