<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <style type="text/css">
body {
        font-family: Helvetica,Arial,'DejaVu Sans','Liberation Sans',Freesans,sans-serif;
        font-weight: normal;
        color: #555555;
        margin: 1.25cm; 
        max-width: 50em;
        counter-reset: chapter;
        text-align: justify;
}
h1 {
        color: #00A6A6;
}
h1.title {
        text-align: center;
}
h2, h3, h4, h5, h6 {
  color: #146A68;
}
a {
  text-decoration: none;
}
/* This ordering of the a: pseudo-classes is necessary in
 * order to be effective.
 */
a:link {
  color: #009999;
}
a:visited {
  color: #006699;
}
a:hover {
  color: #00CCCC;
}
a:active {
  color: #0000FF;
}
code.code {
  white-space: nowrap;
}
.cite {
        color: #888888;
        border-left: 2px solid rgb(0, 128, 0);
        padding-right: 0px;
        padding-left: 5px;
        margin-left: 5px;
        margin-right: 0px;
}
div.footnote {
  font-size: small;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  border-style: ridge;
}
caption {
  background-color: #146A68;
  color: #FFFF33;
}
td {
  padding: 0.3em;
}
th {
  padding: 0.3em;
  background-color: #EBD8AF;
}
th:first-child {
  background-color: #EBE57B;
}
code {
  font-family: "Courier New", Courier, mono;
  white-space: pre;
}
.informalexample {
  background-color: #F7F9F9;
  border: thin dashed #146A68;
}
.footnote {
  font-size: x-small;
  border-top: thin solid #146A68;
  border-right: thin none #146A68;
  border-bottom: thin none #146A68;
  border-left: thin none #146A68;
}
.moz-signature {
        color: gray;
        font-size: xx-small;
}
</style>
  </head>
  <body>
    <p>
      <div class="moz-cite-prefix">On 2012/12/07 10:27, Jeff Gilbert
        wrote:<br>
      </div>
      <blockquote class=" cite"
        id="mid_1248235515_21980050_1354843635018_JavaMail_root_mozilla_com"
cite="mid:1248235515.21980050.1354843635018.JavaMail.root@mozilla.com"
        type="cite">
        <pre wrap="">It is also a little crazy that texImage2D(gl.canvas) does not reduce to the same operation as copyTexImage2D.</pre>
      </blockquote>
      Welcome to the world of bashing square pegs into round holes.<br>
      <blockquote class=" cite"
        id="mid_1248235515_21980050_1354843635018_JavaMail_root_mozilla_com"
cite="mid:1248235515.21980050.1354843635018.JavaMail.root@mozilla.com"
        type="cite">
        <pre wrap="">I understand that people are used to passing image data directly to texImage2D as top-row-first, and just dealing with the flipped u/v coords[1], but this choice should not be force on everyone as it is now. UNPACK_FLIP_Y_WEBGL as it is today does not solve this, as to get consistent bottom-row-first behavior, an app needs to use UNPACK_FLIP_Y_WEBGL=false for TypedArray uploads, and UNPACK_FLIP_Y_WEBGL=true for HTML element uploads.</pre>
      </blockquote>
      Why should we try to hide that HTML elements have a top-left,
      top-row-first origin? It is easy enough for the application to
      change the setting of UNPACK_FLIP_Y_WEBGL between uploading from a
      typed array and uploading from an HTML element.<br>
      <blockquote class=" cite"
        id="mid_1248235515_21980050_1354843635018_JavaMail_root_mozilla_com"
cite="mid:1248235515.21980050.1354843635018.JavaMail.root@mozilla.com"
        type="cite">
        <pre wrap="">

WebGL is *not* working the same way as OpenGL here, because OpenGL *only* accepts raw bytes. If you upload data top-row-first, and use uv 0,0 at the top-left, it's right-side-up. If you upload data bottom-row-first (like the texImage2D spec says), and use uv 0,0 at the bottom-left, it's also right-side-up. WebGL introduces loading from images directly. 
</pre>
      </blockquote>
      WebGL works exactly the same way as OpenGL. As in WebGL the
      application is expected to understand that most image formats have
      a top-left origin and to flip the data before uploading or provide
      different texture coordinates. WebGL provides the service of
      decoding and uploading standard image formats so we provided the
      pixel store property to request a flip. The knowledge needed by an
      application developer is the same in both cases.<br>
      <blockquote class=" cite"
        id="mid_1248235515_21980050_1354843635018_JavaMail_root_mozilla_com"
cite="mid:1248235515.21980050.1354843635018.JavaMail.root@mozilla.com"
        type="cite">
        <pre wrap="">

This means WebGL has to make a choice over what order to upload the rows. Whereas texImage2D on TypedArrays doesn't really matter,</pre>
      </blockquote>
      We made a choice that WebGL would not make a choice. The
      application specifies whether it wants the image flipped or not.
      If it doesn't and wants the image the right way up, it is expected
      to supply the necessary texture coordinates.
      <blockquote class=" cite"
        id="mid_1248235515_21980050_1354843635018_JavaMail_root_mozilla_com"
cite="mid:1248235515.21980050.1354843635018.JavaMail.root@mozilla.com"
        type="cite">
        <pre wrap=""> texImage2D on HTML elements can't automatically handle both. We have half the solution in the form of UNPACK_FLIP_Y_WEBGL, but it doesn't provide a solution to making WebGL consistent for both choices of origin location.</pre>
      </blockquote>
    </p>
    <p>You've lost me here. What does "texImage2D on HTML elements can't
      automatically handle both" mean? Do HTML elements come with
      different orientations? I thought they were all top-left therefore
      why does texImage2D on HTML elements need to handle both?<br>
    </p>
    <p>Regards</p>
    <p>    -Mark</p>
    <div class="moz-signature">-- <br>
      <div>
        注意:この電子メールには、株式会社エイチアイの機密情報が含まれている場合が有ります。正式なメール受信者では無い場合はメール複製、
        再配信または情報の使用を固く禁じております。エラー、手違いでこのメールを受け取られましたら削除を行い配信者にご連絡をお願いいたし
        ます.
      </div>
      <p>
        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.
      </p>
    </div>
  </body>
</html>