OpenGL 1.2 changes General ------- p.1 Remove section 1.1 "Comments on the OGL 1.2 Draft Spec." All Remove change bars and 'club' markers in tables p. 236 Determine list of contributors for credits in section D.10 Aliased Point/Line Queries -------------------------- Add queries for aliases primitive limits, and alias the existing query enumerants: p. 61 Third sentence now reads "This implementation-dependent value must be no less than the implementation-dependent maximum antialiased point width..." p. 67 Second sentence of "Wide Lines" section now reads "This implementation-dependent value must be no less than the implementation-dependent maximum antialiased line width..." p. 217 Change "Get Value" label for POINT_SIZE_RANGE to read "SMOOTH_POINT_SIZE_RANGE (v1.1: POINT_SIZE_RANGE)" Change "Get Value" label for POINT_SIZE_GRANULARITY to read "SMOOTH_POINT_SIZE_GRANULARITY (v1.1: POINT_SIZE_GRANULARITY)" Change "Get Value" label for LINE_WIDTH_RANGE to read "SMOOTH_LINE_WIDTH_RANGE (v1.1: LINE_WIDTH_RANGE)" Change "Get Value" label for LINE_WIDTH_GRANULARITY to read "SMOOTH_LINE_WIDTH_GRANULARITY (v1.1: LINE_WIDTH_GRANULARITY)" Add two new state table entries: Get Type Get Min Description Sec Attr value Cmnd Valu ----- ---- ---- ----- ----------- --- ---- ALIASED_POINT_SIZE_RANGE 2xR+ GetFloatv 1,1 Range (lo to hi) of 3.3 - aliased point sizes. ALIASED_LINE_WIDTH_RANGE 2xR+ GetFloatv 1,1 Range (lo to hi) of 3.4 - aliased line widths. Negative Index Shift -------------------- Introduce MAX_PIXEL_MAP_TABLE and require at least as this range: p. 78 Bottom line now reads "The maximum allowable of each table is specified by the implementation dependent value MAX_PIXEL_MAP_TABLE, but must be at least 32..." p. 101 Second line of "Arithmetic on Indices" section now reads "...with an unspecified number of bits to the right of the binary point and at least ceil(log base 2(MAX_PIXEL_MAP_TABLE)) bits to the left of the binary point." Color Table & Histogram Size ---------------------------- Specify minimum widths of histogram and color tables: p. 79 End of the first complete paragraph now reads "...with taken to be 1. The maximum allowable of a table is implementation-dependent, but must be at least 32. The ..." p. 87 End of the first paragraph of "Histogram Table Specification" now reads "...specifies the format of each table entry. The maximum allowable of the histogram table is implementation-dependent, but must be at least 32. specifies..." p. 216 Add two new state table entries Get Type Get Min Description Sec Attr value Cmnd Value ----- ---- ---- ----- ----------- --- ---- - 3xZ+ - 32 Max. size of a color table 3.6.3 - - Z+ - 32 Max. size of the histogram 3.6.3 - table Complete List of Operations Affected By Convolution --------------------------------------------------- p. 103 In the second sentence of the "Convolution" section, add "TexSubImage1D" to the list of operations affected by one-dimensional convolution. Convolution Border Mode ----------------------- Remove IGNORE_BORDER_MODE p. 105 Last sentence prior to "Border mode REDUCE" section now reads "...and is one of REDUCE, CONSTANT_BORDER, or REPLICATE_BORDER." Remove footnote 1. p. 106 The entire "Border Mode IGNORE_BORDER" section is removed. p. 107 The second sentence of "Border Mode REPLICATE_BORDER" now reads "The behavior of this mode is identical to that of the CONSTANT_BORDER mode except..." TexImage3D "enum" Argument -------------------------- p. 113 Change type of TexImage3D argument to int, instead of enum. p. 114 End of first paragraph now reads "... symbolic constants listed in table 3.16. may (for backwards compatibility for the 1.0 version of the GL) also take on the integer values 1, 2, 3, and 4, which are equivalent to symbolic constants LUMINANCE, LUMINANCE_ALPHA, RGB, and RGBA respectively. Specifying a value for that is not one of the above values generates the error INVALID_VALUE." p. 117 The last sentence of the next-to-last paragraph now reads "The other parameters match the corresponding parameters of TexImage3D." Footnote 3 is removed. Texture Image Specification --------------------------- p. 117 Third paragraph now reads "In a similar fashion, the maximum allowable width of a one- or two- dimensional texture image, and the maximum allowable height of a two-dimensional texture image, must be at least 2**(k-lod) + 2 b_t for image arrays 0 through k, where k is the log base 2 of MAX_TEXTURE_SIZE. p. 216 State table entry for MAX_3D_TEXTURE_SIZE now has minimum value "16" Texture Completeness -------------------- p.117 Paragraph beginning "Section 3.8.7 describes..." now reads "Furthermore, an implementation may allow a one-, two-, or three-dimensional image array of level 1 or greater to be created only if a complete[3] set of image arrays consistent with the requested array can be supported. Likewise, an implementation may allow an image array of level 0 to be created only if that single image array can be supported." Add footnote 3, which reads 3. For this purpose the definition of "complete", as provided under _Mipmapping_, is augmented as follows: 1) it is as though TEXTURE_BASE_LEVEL is 0 and TEXTURE_MAX_LEVEL is 1000. 2) Excluding borders, the dimensions of the next lower numbered array are all understood to be twice the corresponding dimensions of the specified array. p. 127 The second sentence of the second paragraph now ends with "...equal to the width, height, and depth of the image array whose level is TEXTURE_BASE_LEVEL." p. 128 The second sentence in the first complete paragraph now reads "When TEXTURE_MIN_FILTER is NEAREST, the texel in the image array of level TEXTURE_BASE_LEVEL that is nearest (in Manhattan distance)..." The first sentence in the last paragraph now reads "When TEXTURE_MIN_FILTER is LINEAR, a 2x2x2 cube of texels in the image array of level TEXTURE_BASE_LEVEL is selected." p. 130 First paragraph of "Mipmapping" starting with the 3rd sentence now reads "If the image array of level TEXTURE_BASE_LEVEL, excluding its border, has dimensions 2**n x 2**m x 2**l, then there are max{n,m,l}+1 image arrays in the mipmap. Each array subsequent to the array of level TEXTURE_BASE_LEVEL has dimensions" Second and third sentences in the last paragraph (continuing on to page 131) now read "Level-of-detail numbers proceed from TEXTURE_BASE_LEVEL for the original texture array through p = max{n,m,l}+TEXTURE_BASE_LEVEL... "...the time a primitive is rasterized and if the set of arrays TEXTURE_BASE_LEVEL through q=min{p,TEXTURE_MAX_LEVEL is incomplete, then it is as if texture mapping were disabled. p. 131 Last sentence in first paragraph and first sentence in next paragraph now read "Array levels k where k < TEXTURE_BASE_LEVEL or k > q are insignificant. "The values of TEXTURE_BASE_LEVEL and TEXTURE_MAX_LEVEL may be respecified for a specific texture by calling TexParameter[if]..." p. 133 Sentence on line 11 beginning "If the texture array" and the following sentence now read "If the image array would not be supported by TexImage3D called with set to TEXTURE_3D, no error is generated, but the proxy width, height, depth, border width, and component resolutions are set to zero. If the image array would be supported by such a call to TexImage3D, the proxy state values are set exactly as though the actual image array were being specified." [Note that the sample GL *does* set the internal format of the texture to 0 when the proxy fails, unlike IBM's behavior. Do we want to change the sample? If so, how?] Texture Name "Used" Language ---------------------------- p. 134 Sentence following GenTextures() prototype now reads "These names are marked as used, for the purposes of GenTextures only, but they acquire texture state and a dimensionality..." p. 135 Sentence beginning on line 9 now reads "If any of the names in are unused or are zero, FALSE is returned..." Index Fog Masking ----------------- p. 140 The end of the next-to-last paragraph now reads "The value of i_f is set by calling Fog with set to FOG_INDEX and being or pointing to a single value for the fog index. The integer part of i_f is masked with 2**n-1, where n is the number of bits in a color index framebuffer." Final Conversion Clamping ------------------------- p. 161 Next to last sentence now reads "For an RGBA color, each component is first clamped to [0,1]." Correct GetHistogram and GetMinmax Parameter Description -------------------------------------------------------- p. 189 Sentence following GetHistogram prototype now reads " and accept the same values as do the..." p. 190 Sentence following GetMinmax prototype now reads " and accept the same values as do the..." Convolution Filter Size ----------------------- p. 217 State table entries for MAX_CONVOLUTION_{WIDTH,HEIGHT} now have minimum values of "3" instead of "-"