[Public WebGL] y-orientation for texImage2D from HTML elements

Gregg Tavares (社用) [email protected]
Thu Dec 6 22:34:48 PST 2012

On Fri, Dec 7, 2012 at 3:25 PM, Mark Callow <[email protected]>wrote:

>  On 2012/12/07 13:33, Kenneth Russell wrote:
> On Thu, Dec 6, 2012 at 7:32 PM, Mark Callow <[email protected]> <[email protected]> wrote:
>  On 2012/12/07 12:07, Jeff Gilbert wrote:
> At the absolute minimum, we need wording in the spec that spells this out:
> "We send decoded image data top-row-first into texImage2D, which, per spec,
> expects bottom-row-first data. This means that textures uploaded this way
> will be upside down compared to textures uploaded via other methods. You can
> force HTML element uploads to upload bottom-row-first by using
> UNPACK_FLIP_Y_WEBGL=true, but this also flips the order that TypedArray rows
> are uploaded."
> I have no objection to adding a note to the spec. I would prefer something
> along the lines of:
> The default texture coordinate system in OpenGL is such that the first row
> of data loaded by texImage2D will appear at bottom of the texture. However
> the first row of data in HTML elements is the logical top of the image
> therefore textures uploaded from HTML elements will appear upside down. One
> way of adjusting for this is to set UNPACK_FLIP_Y_WEBGL=true. Then
> texImage2D will flip the rows of data as it uploads them.
> UNPACK_FLIP_Y_WEBGL affects the operation of texImage2D for all data
> sources.
>  This seems like too much text to me.http://www.khronos.org/registry/webgl/specs/latest/#PIXEL_STORAGE_PARAMETERS
> already defines UNPACK_FLIP_Y_WEBGL very clearly. The only text that
> should possibly be added in my opinion is a brief note inhttp://www.khronos.org/registry/webgl/specs/latest/#5.14.8 under the
> texImage2D and texSubImage2D overloads taking HTML elements and
> ImageData, which already reference the above section. I'm still
> unconvinced that changes are needed here so if someone could please
> propose spec text in this context it would be helpful.
>  I agree. I had not looked at the spec. before proposing that language.:-[
> How about adding the following in 5.14.8 after "Uploads the given element
> or image data to the currently bound WebGLTexture":
> Note: HTML elements have an upper left origin. To match the texture image
> orientation to the element's display in HTML, either set
> UNPACK_FLIP_Y_WEBGL=true or change texture coordinate v.
What is texture coordinate "v"? :)

I've never really been successful flipping texture coords in any automated
away. It's not just 1-t (or 1-v) because decals often have texture
coordinates outside the 0-1 range. Animated texture coords make that even

I guess all that's the long way of saying it might be better for the note
to only mention UNPACK_FLIP_Y_WEBGL as in

Note: HTML elements have an upper left origin. To match the texture image
orientation to the element's display in HTML call
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true).

>  Regards
>     -Mark
> --
>  注意:この電子メールには、株式会社エイチアイの機密情報が含まれている場合が有ります。正式なメール受信者では無い場合はメール複製、
> 再配信または情報の使用を固く禁じております。エラー、手違いでこのメールを受け取られましたら削除を行い配信者にご連絡をお願いいたし ます.
> NOTE: This electronic mail message may contain confidential and privileged
> information from HI Corporation. If you are not the intended recipient, any
> disclosure, photocopying, distribution or use of the contents of the
> received information is prohibited. If you have received this e-mail in
> error, please notify the sender immediately and permanently delete this
> message and all related copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://khronos.org/pipermail/public_webgl_khronos.org/attachments/20121207/23143216/attachment.html>

More information about the public_webgl mailing list