15bd8deadSopenharmony_ciName
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ci    APPLE_texture_max_level
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ciName Strings
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ci    GL_APPLE_texture_max_level
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ciContributors
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ci    Contributors to SGIS_texture_lod desktop OpenGL extension from which 
125bd8deadSopenharmony_ci    this extension borrows heavily.
135bd8deadSopenharmony_ci
145bd8deadSopenharmony_ciContacts
155bd8deadSopenharmony_ci
165bd8deadSopenharmony_ci    Benj Lipchak, Apple (lipchak 'at' apple.com)
175bd8deadSopenharmony_ci
185bd8deadSopenharmony_ciStatus
195bd8deadSopenharmony_ci
205bd8deadSopenharmony_ci    Complete
215bd8deadSopenharmony_ci
225bd8deadSopenharmony_ciVersion
235bd8deadSopenharmony_ci
245bd8deadSopenharmony_ci    Last Modified Date: February 24, 2011
255bd8deadSopenharmony_ci    Revision: #2
265bd8deadSopenharmony_ci
275bd8deadSopenharmony_ciNumber
285bd8deadSopenharmony_ci
295bd8deadSopenharmony_ci    OpenGL ES Extension #80
305bd8deadSopenharmony_ci
315bd8deadSopenharmony_ciDependencies
325bd8deadSopenharmony_ci
335bd8deadSopenharmony_ci    Written based on the wording of the OpenGL ES 2.0 specification.
345bd8deadSopenharmony_ci
355bd8deadSopenharmony_ci    OpenGL ES 1.1 affects the definition of this extension.
365bd8deadSopenharmony_ci
375bd8deadSopenharmony_ciOverview
385bd8deadSopenharmony_ci
395bd8deadSopenharmony_ci    This extension allows an application to specify the maximum (coarsest) 
405bd8deadSopenharmony_ci    mipmap level that may be selected for the specified texture.  This maximum
415bd8deadSopenharmony_ci    level is also used to determine which mip levels are considered when 
425bd8deadSopenharmony_ci    determining texture completeness.
435bd8deadSopenharmony_ci
445bd8deadSopenharmony_ciIP Status
455bd8deadSopenharmony_ci
465bd8deadSopenharmony_ci    No known IP claims.
475bd8deadSopenharmony_ci
485bd8deadSopenharmony_ciNew Procedures and Functions
495bd8deadSopenharmony_ci
505bd8deadSopenharmony_ci    None
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ciNew Tokens
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    Accepted by the <pname> parameter of TexParameteri, TexParameterf,
555bd8deadSopenharmony_ci    TexParameteriv, TexParameterfv, GetTexParameteriv, and GetTexParameterfv:
565bd8deadSopenharmony_ci
575bd8deadSopenharmony_ci        TEXTURE_MAX_LEVEL_APPLE          0x813D
585bd8deadSopenharmony_ci
595bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL ES 2.0 Specification (OpenGL Operation)
605bd8deadSopenharmony_ci
615bd8deadSopenharmony_ci    None
625bd8deadSopenharmony_ci
635bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL ES 2.0 Specification (Rasterization)
645bd8deadSopenharmony_ci
655bd8deadSopenharmony_ci    Add the following line to Table 3.10 (Texture parameters and their values):
665bd8deadSopenharmony_ci
675bd8deadSopenharmony_ci        Name                            Type        Legal Values
685bd8deadSopenharmony_ci        ----                            ----        ------------
695bd8deadSopenharmony_ci        TEXTURE_MAX_LEVEL_APPLE         integer     any non-negative integer
705bd8deadSopenharmony_ci
715bd8deadSopenharmony_ci    In section 3.7.4, insert the following paragraph before the paragraph
725bd8deadSopenharmony_ci    beginning "Texture parameters for a cube map texture...":
735bd8deadSopenharmony_ci    
745bd8deadSopenharmony_ci    "In the remainder of section 3.7, denote by level_max the value of the 
755bd8deadSopenharmony_ci    texture parameter TEXTURE_MAX_LEVEL_APPLE."
765bd8deadSopenharmony_ci
775bd8deadSopenharmony_ci    In section 3.7.7 subsection "Mipmapping" modify the second paragraph
785bd8deadSopenharmony_ci    such that p and q are defined as follows:
795bd8deadSopenharmony_ci    
805bd8deadSopenharmony_ci        p = floor(log2(max(w_b, h_b)))
815bd8deadSopenharmony_ci        q = min{p, level_max}
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ci    In section 3.7.7 subsection "Mipmapping" insert the following paragraph 
845bd8deadSopenharmony_ci    before the paragraph beginning "The mipmap is used in conjunction...":
855bd8deadSopenharmony_ci    
865bd8deadSopenharmony_ci    "The value of level_max may be respecified for a specific texture by
875bd8deadSopenharmony_ci    calling TexParameter[if] with <pname> set to TEXTURE_MAX_LEVEL_APPLE.
885bd8deadSopenharmony_ci    The error INVALID_VALUE is generated if the specified value is negative."
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    In section 3.7.12, modify the last three sentences to read as follows:
915bd8deadSopenharmony_ci    
925bd8deadSopenharmony_ci    "Next, there are the two sets of texture properties; each consists of the
935bd8deadSopenharmony_ci    selected minification and magnification filters, the maximum array level,
945bd8deadSopenharmony_ci    and the wrap modes for s and t.  In the initial state, the value assigned
955bd8deadSopenharmony_ci    to TEXTURE_MIN_FILTER is NEAREST_MIPMAP_LINEAR, and the value for 
965bd8deadSopenharmony_ci    TEXTURE_MAG_FILTER is LINEAR.  s and t wrap modes are both set to REPEAT.
975bd8deadSopenharmony_ci    The value of TEXTURE_MAX_LEVEL_APPLE is 1000."
985bd8deadSopenharmony_ci
995bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL ES 2.0 Specification (Per-Fragment 
1005bd8deadSopenharmony_ciOperations and the Frame Buffer)
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ci    None
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL ES 2.0 Specification (Special Functions)
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ci    None
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State 
1095bd8deadSopenharmony_ciRequests)
1105bd8deadSopenharmony_ci
1115bd8deadSopenharmony_ci    None
1125bd8deadSopenharmony_ci
1135bd8deadSopenharmony_ciDependencies on OpenGL ES 1.1
1145bd8deadSopenharmony_ci
1155bd8deadSopenharmony_ci    On an OpenGL ES 1.1 implementation, include fixed-point flavors of
1165bd8deadSopenharmony_ci    TexParameter and GetTexParameter commands.
1175bd8deadSopenharmony_ci    
1185bd8deadSopenharmony_ciErrors
1195bd8deadSopenharmony_ci
1205bd8deadSopenharmony_ci    INVALID_VALUE is generated if an attempt is made to set
1215bd8deadSopenharmony_ci    TEXTURE_MAX_LEVEL_APPLE to a negative value.
1225bd8deadSopenharmony_ci
1235bd8deadSopenharmony_ciNew State
1245bd8deadSopenharmony_ci
1255bd8deadSopenharmony_ci    Add the following to Table 6.8 (Textures (state per texture object):
1265bd8deadSopenharmony_ci                                                           Initial
1275bd8deadSopenharmony_ci    Get Value                 Get Command         Type     Value     Description       Sec.
1285bd8deadSopenharmony_ci    ---------                 -----------------   ------   -------   -----------       ----
1295bd8deadSopenharmony_ci    TEXTURE_MAX_LEVEL_APPLE   GetTexParameteriv   n x Z+   1000      Maximum texture   3.7
1305bd8deadSopenharmony_ci                                                                     array level
1315bd8deadSopenharmony_ci
1325bd8deadSopenharmony_ciNew Implementation Dependent State
1335bd8deadSopenharmony_ci
1345bd8deadSopenharmony_ci    None
1355bd8deadSopenharmony_ci
1365bd8deadSopenharmony_ciRevision History
1375bd8deadSopenharmony_ci
1385bd8deadSopenharmony_ci    #2  02/24/2011    Benj Lipchak     Assign extension number
1395bd8deadSopenharmony_ci    #1  10/29/2009    Benj Lipchak     First draft
140