Inertia's picture

Related Extensions unknown, Core? (Version12) [done!]

Source: http://www.opengl.org/registry/api/enum.spec

        // add to Enum: GetPName
        AliasedPointSizeRange = ( (int) 0x846d ),
        SmoothPointSizeRange = ( (int) 0x0b12 ),
        SmoothPointSizeGranularity = ( (int) 0x0b13 ),
        AliasedLineWidthRange = ( (int) 0x846e ),
        SmoothLineWidthRange = ( (int) 0x0b22 ),
        SmoothLineWidthGranularity = ( (int) 0x0b23 ),
 
 
        These belong into Enum: GetTextureParameter
        They already exist there with *Sgi Suffix 
 
        TextureMaxLevel = ( (int) 0x813d ),
        TextureBaseLevel = ( (int) 0x813c ),
        TextureMinLod = ( (int) 0x813a ),
        TextureMaxLod = ( (int) 0x813b ),

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Inertia's picture

This is what is left now of Version12, the tokens at the bottom can imho be removed (they're just here so you can verify it if needed).

What I honestly cannot put into any categories and where searching did not yield any useful information are the first 2 Blocks of the enum.
MaxElements* is never mentioned anywhere?
Unsigned* are never mentioned anywhere?

Maybe you know something about them? I believe they have been replaced in an update, the Unsigned* look like they belong into PixelInternalFormat or PixelFormat?

 
public enum Version12
        {
            MaxElementsVertices = ( (int) 0x80e8 ), //??
            MaxElementsIndices = ( (int) 0x80e9 ), //??
 
            UnsignedByte332 = ( (int) 0x8032 ),
            UnsignedShort4444 = ( (int) 0x8033 ),
            UnsignedShort5551 = ( (int) 0x8034 ),
            UnsignedInt8888 = ( (int) 0x8035 ),
            UnsignedInt1010102 = ( (int) 0x8036 ),
            UnsignedByte233Rev = ( (int) 0x8362 ),
            UnsignedShort565 = ( (int) 0x8363 ),
            UnsignedShort565Rev = ( (int) 0x8364 ),
            UnsignedShort4444Rev = ( (int) 0x8365 ),
            UnsignedShort1555Rev = ( (int) 0x8366 ),
            UnsignedInt8888Rev = ( (int) 0x8367 ),
            UnsignedInt2101010Rev = ( (int) 0x8368 ),
 
            // duplicates, can imho be removed
 
            RescaleNormal = ( (int) 0x803a ), // EXT_rescale_normal
            // exists: EnableCap.RescaleNormalExt
            // exists: GetPName.RescaleNormalExt
 
            Bgr = ( (int) 0x80e0 ), // exists: PixelFormat.Bgr
            Bgra = ( (int) 0x80e1 ), // exists: PixelFormat.Bgra
            LightModelColorControl = ( (int) 0x81f8 ), // exists: LightModelParameter.LightModelColorControl
            SingleColor = ( (int) 0x81f9 ), // exists: LightModelColorControl.SingleColor
            SeparateSpecularColor = ( (int) 0x81fa ), // exists: LightModelColorControl.SeparateSpecularColor 
            TextureBinding3d = ( (int) 0x806a ), // exists: GetPName.TextureBinding3d
        }
the Fiddler's picture

I'm sure I've seen the Unsigned* stuff before, but I can't remember where. I don't know about the Max* members, I'll post if I find something.

Inertia's picture

Thanks :)

If we solve the MaxElements* and Unsigned* relationships, all the enums Version12/3/4/5 are gone :-)

the Fiddler's picture

Perfect, this goes a long way in beautifying the API!

Inertia's picture

I've found the Unsigned* tokens in glspec21.20061201.pdf

They belong to GL.DrawPixel's enum "PixelType"

c&p of the table (formating obviously very screwed up)

UNSIGNED BYTE ubyte No
BITMAP ubyte Yes
BYTE byte No
UNSIGNED SHORT ushort No
SHORT short No
UNSIGNED INT uint No
INT int No
FLOAT float No
UNSIGNED BYTE 3 3 2 ubyte Yes
UNSIGNED BYTE 2 3 3 REV ubyte Yes
UNSIGNED SHORT 5 6 5 ushort Yes
UNSIGNED SHORT 5 6 5 REV ushort Yes
UNSIGNED SHORT 4 4 4 4 ushort Yes
UNSIGNED SHORT 4 4 4 4 REV ushort Yes
UNSIGNED SHORT 5 5 5 1 ushort Yes
UNSIGNED SHORT 1 5 5 5 REV ushort Yes
UNSIGNED INT 8 8 8 8 uint Yes
UNSIGNED INT 8 8 8 8 REV uint Yes
UNSIGNED INT 10 10 10 2 uint Yes
UNSIGNED INT 2 10 10 10 REV uint Yes

"Table 3.5: DrawPixels and ReadPixels type parameter values and the corresponding GL data types."

Will you check this out, or should I post corrections to the enum? (there's a few of them missing, i.e. the Rev(ersed) ones are not in there)

the Fiddler's picture

I've added the unsigned types to PixelType, I'll cross-check the rest, thanks.