
Name

    SUN_mesh_array

Name Strings

    GL_SUN_mesh_array

Contact

    Jack Middleton, Sun (Jack.Middleton 'at' sun.com)

Status

    Shipping (version 1.1)

Version
   
    $Date: 2005/06/02 18:12:54 $Revision: 1.1 $

Number

    257

Dependencies

    OpenGL 1.1 is required
    The extension is written against the OpenGL 1.3 Specification.

Overview


  This extension defines a new mesh primitive.
  The primitive can only be used with vertex arrays and cannot be used in
  immediate mode. The application must arrange the vertices in row major format.
  For example if a quad mesh is 4 vertices wide the, vertices in the first
  row are the first 4 vertices and vertices in the second row are vertices 5
  through 8. 

IP Status

  There are no known IP issues.

Issues

 1. Should glDrawMultiMeshArraysSUN and/or glDrawRangeMeshArraysSUN
    be included?
   
      No. small meshes are not that common. A mesh is like a series of 
      triangle or quad meshes already. 


New Procedures and Functions

  glDrawMeshArraysSUN( GLenum mode, GLint first, GLsizei count, GLsizei width )

New Tokens

   Accepted by the <mode> parameter of DrawMeshArraysSun,

   QUAD_MESH_SUN               0x8614
   TRIANGLE_MESH_SUN           0x8615

Additions to Chapter 2 of the 1.3 GL Specification (OpenGL Operation)

  Section 2.8 Vertex Arrays:

  The command 

     void DrawMeshArraysSUN( enum mode, int first, sizei count, sizei width );

  constructs a mesh primitive using the elements first through first+count-1
  of each enabled array. The mode specifies if it is a quad mesh or triangle
  mesh. The only token values accepted by mode are QUAD_MESH_SUN and 
  TRIANGLE_MESH_SUN. Width specifies how many vertices are in each row 
  of the mesh. The elements must be arranged in row major order within the
  arrays.

Additions to Chapter 3 of the 1.3 GL Specification (Rasterization)

    None


Additions to Chapter 4 of the 1.3 GL Specification (Per-Fragment Operations
and the Framebuffer)

    None

Additions to Chapter 5 of the 1.3 GL Specification (Special Functions)

    None


Additions to Chapter 6 of the 1.3 GL Specification (State and State Requests)

    None

Additions to the GLX / WGL / AGL Specifications

    None

GLX Protocol

    None

Errors

    INVALID_VALUE is generated if <count> is not an even multiple of
    width.
 
    INVALID_ENUM is generated if <mode> is not QUAD_MESH_SUN or
    TRIANGLE_MESH_SUN.
 
New State

   None
