11 Last Modifed Date: April 9, 2012
15 OpenGL ES 2.0 is required.
19 This extension adds the ability to vertically flip texture image data when
20 calling TexImage2D and TexSubImage2D.
27 Accepted by the <param> parameter of PixelStorei:
29 UNPACK_FLIP_Y_CHROMIUM 0x9240
31 Additions to the OpenGL ES 2.0 Specification
33 Modifications to Table 3.1 (PixelStore Parameters)
35 Add the following entry:
37 Parameter Name Type Initial Value Valid Range
38 ============== ==== ============= ===========
39 UNPACK_FLIP_Y_CHROMIUM boolean FALSE {TRUE, FALSE}
41 Modifications to 3.6.2 Transfer of Pixel Rectangles, in the Unpacking
45 "If p indicates the location in memory of the first element of the first
46 row, then the first element of the Nth row is indicated by
49 "If p indicates the location in memory of the first element of the first
50 row, then the first element of the Nth row is indicated by
52 if UNPACK_FLIP_Y is FALSE. Otherwise, the first element of the Nth row
58 "If the number of bits per element is not 1, 2, 4, or 8 times the number
59 of bits in a GL ubyte, then k = nl for all values of a."
63 "If UNPACK_FLIP_Y_CHROMIUM is FALSE then p is equal to pixels. Otherwise
64 p is pixels + (height - 1)k."
66 Interactions with GL_EXT_unpack_subimage
68 Do not add the sentence "If UNPACK_FLIP_Y_CHROMIUM is FALSE ..." described
69 in this extension. Instead do the following after applying
70 GL_EXT_unpack_subimage:
74 "There is a mechanism for selecting a sub-rectangle of groups
75 from a larger containing rectangle. This mechanism relies on
76 three integer parameters: UNPACK_ROW_LENGTH, UNPACK_SKIP_ROWS,
77 and UNPACK_SKIP_PIXELS. Before obtaining the first group from
78 memory, the pointer supplied to TexImage2D is effectively
79 advanced by (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS)k
80 elements. Then <width> groups are obtained from contiguous
81 elements in memory (without advancing the pointer), after
82 which the pointer is advanced by k elements. <height> sets of
83 <width> groups of values are obtained this way. See figure
88 "There is a mechanism for selecting a sub-rectangle of groups
89 from a larger containing rectangle. This mechanism relies on
90 three integer parameters: UNPACK_ROW_LENGTH, UNPACK_SKIP_ROWS,
91 and UNPACK_SKIP_PIXELS. IF UNPACK_FLIP_Y_CHROMIUM is FALSE then
92 p, the location of the first element of the first
93 group, is pixels + (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS)k.
94 When UNPACK_FLIP_Y_CHROMIUM is TRUE then p is pixels +
95 (UNPACK_SKIP_PIXELS)n + (UNPACK_SKIP_ROWS + height - 1)k. After
96 p is determined <width> groups are obtained from contiguous
97 elements in memory (without advancing the pointer), after which
98 the pointer is advanced by +/-k elements depending on the value
99 of UNPACK_CHROMIUM_FLIP_Y. <height> sets of <width> groups of
100 values are obtained this way. See figure 3.6."
102 New Procedures and Functions
116 7/22/2011 Documented the extension
117 4/09/2012 Added more documentation and described interactions with
118 GL_EXT_unpack_subimage