Inertia's picture

Enum: DrawBuffers (Version20) [done!]

http://www.opengl.org/registry/specs/ARB/draw_buffers.txt

The new Enums (see below) affect these functions:

old: GL.DrawBuffers( XXXXX, Version20* bufs );
new: GL.DrawBuffers( XXXXX, DrawBuffersEnum* bufs );

The XXXXX marks unmodified parameters.

///<summary>Monoscopic contexts include only left buffers, while stereoscopic contexts include both left and right buffers.  Likewise, single buffered contexts include only front buffers, while double buffered contexts include both front and back buffers.</summary>
        public enum DrawBuffersEnum : int
        {
            None = (int) DrawBufferMode.None,
            FrontLeft = (int) DrawBufferMode.FrontLeft,
            FrontRight = (int) DrawBufferMode.FrontRight,
            BackLeft = (int) DrawBufferMode.BackLeft,
            BackRight = (int) DrawBufferMode.BackRight,
            Aux0 = (int) DrawBufferMode.Aux0,
            Aux1 = (int) DrawBufferMode.Aux1,
            Aux2 = (int) DrawBufferMode.Aux2,
            Aux3 = (int) DrawBufferMode.Aux3,
        }
 
        // add to Enum:  GetPName
            MaxDrawBuffers = ( (int) 0x8824 ),
            DrawBuffer0 = ( (int) 0x8825 ),
            DrawBuffer1 = ( (int) 0x8826 ),
            DrawBuffer2 = ( (int) 0x8827 ),
            DrawBuffer3 = ( (int) 0x8828 ),
            DrawBuffer4 = ( (int) 0x8829 ),
            DrawBuffer5 = ( (int) 0x882a ),
            DrawBuffer6 = ( (int) 0x882b ),
            DrawBuffer7 = ( (int) 0x882c ),
            DrawBuffer8 = ( (int) 0x882d ),
            DrawBuffer9 = ( (int) 0x882e ),
            DrawBuffer10 = ( (int) 0x882f ),
            DrawBuffer11 = ( (int) 0x8830 ),
            DrawBuffer12 = ( (int) 0x8831 ),
            DrawBuffer13 = ( (int) 0x8832 ),
            DrawBuffer14 = ( (int) 0x8833 ),
            DrawBuffer15 = ( (int) 0x8834 ),
 

The quote about contexts is imho rather important to have documented somewhere, so I included it here for now (add to book when writing about contexts?)