Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ v4f(3G) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



v(3G)                                                                    v(3G)



NAME
     v2d, v2f, v2i, v2s, v3d, v3f, v3i, v3s, v4d, v4f, v4i, v4s - transfers a
     2-D, 3-D, or 4-D  vertex to the graphics pipe

C SPECIFICATION
     void v2s(vector)                    void v2f(vector)
     short vector[2];                    float vector[2];

     void v2i(vector)                    void v2d(vector)
     long vector[2];                     double vector[2];

     void v3s(vector)                    void v3f(vector)
     short vector[3];                    float vector[3];

     void v3i(vector)                    void v3d(vector)
     long vector[3];                     double vector[3];

     void v4s(vector)                    void v4f(vector)
     short vector[4];                    float vector[4];

     void v4i(vector)                    void v4d(vector)
     long vector[4];                     double vector[4];

PARAMETERS
     vector   expects a 2, 3, or 4 element array, depending on whether you
              call the v2, v3, or v4 version of the routine.  The elements of
              the array are the coordinates of the vertex (point) that you
              want to transfer to the graphics pipe. Put the x coordinate in
              element 0, the y coordinate in element 1, the z coordinate in
              element 2 (for v3 and v4), and the w coordinate in element 3
              (for v4).

DESCRIPTION
     v transfers a single 2-D (v2), 3-D (v3), or 4-D (v4) vertex to the
     graphics pipe.  The coordinates are passed to v as an array. Separate
     subroutines are provided for 16-bit integers (s), 32-bit integers limited
     to a signed 24-bit range (i), 32-bit IEEE single precision floats (f),
     and 64-bit IEEE double precision floats (d).  The z coordinate defaults
     to 0.0 if not specified.  w defaults to 1.0.

     The Graphics Library subroutines bgnpoint, endpoint, bgnline, endline,
     bgnclosedline, endclosedline, bgnpolygon, endpolygon, bgntmesh, endtmesh,
     bgnqstrip, and endqstrip determine how the vertex is interpreted.  For
     example, vertices specified between bgnpoint and endpoint draw single
     pixels (points) on the screen.  Likewise, those specified between bgnline
     and endline draw a sequence of lines (with the line stipple continued
     through internal vertices).  Closed lines return to the first vertex
     specified, producing the equivalent of an outlined polygon.

     Vertices specified when none of bgnpoint, bgnline, bgnclosedline,
     bgnpolygon, bgntmesh, and bgnqstrip are active simply set the current
     graphics position.  They do not have any effect on the frame buffer



                                                                        Page 1





v(3G)                                                                    v(3G)



     contents.  (Refer to the pages for bgnpoint, bgnline, bgnclosedline,
     bgnpolygon, bgntmesh, and bgnqstrip for their effect on the current
     graphics position.)

SEE ALSO
     bgnclosedline, bgnline, bgnpoint, bgnpolygon, bgntmesh, bgnqstrip

BUGS
     On the IRIS-4D/120GTX and IRIS-4D/140GTX, there is problem with the
     graphics DMA hardware that can cause data to be sent to the hardware
     after the subroutine call has returned.  If the data is modified immedi-
     ately after the subroutine call, the modified data may get sent down.  To
     avoid this, don't modify the data until after another n, v, or c call has
     been made.

     This is an example of the bug:

          vertex[2] = 1.0;
          v3f(vertex);                        /* 4D/1x0 GTX hardware may receive 3.0 for the z value */
          vertex[2] = 3.0;
          v3f(vertex);


     This is one way to work around the problem:

          vertexA[2] = 1.0;
          v3f(vertexA);
          vertexB[2] = 3.0;
          v3f(vertexB);


























                                                                        Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026