<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Holger,<br>
      <br>
      I am not sure that the actual pixel count matters. X3D always uses
      fractional positioning. The aspect ratio would matter so images
      would not get stretched unnaturally. <br>
      <br>
      Also, I am not sure from your definition how those fields could
      ever be set or events generated. The are listed as initialize
      only, but the '_changed' suffix implies output.<br>
      <br>
      I think a better field (for 2D stuff) is<br>
      <br>
      <blockquote>SFFloat [out] aspect_changed<br>
      </blockquote>
      or some other suitable field/event name.<br>
      <br>
      <br>
      The 3D case is trickier because you need to define which axes are
      being used to construct the ratio and you would need at least 2
      values.<br>
      <br>
      <br>
      Leonard Daly<br>
      <br>
      <br>
    </div>
    <blockquote type="cite"
      cite="mid:f2183db9-0449-36a9-99b2-81b9d7d68402@gmail.com">An
      ImageTexture loads the texture from file and it is currently not
      clear for X3D authors if they load the image from unkown origin,
      for instance from the Internet, or if the url changes dynamically,
      what width/height the texture has.
      <br>
      <br>
      I suggest to add two new field:
      <br>
      <br>
      ImageTexture {
      <br>
        ...
      <br>
        SFInt32 [] width_changed
      <br>
        SFInt32 [] height_changed
      <br>
      }
      <br>
      <br>
      This follows the same layout as the AudioClip node has with its
      duration_changed field.
      <br>
      <br>
      For completeness also MovieTexture and ImageTexture3D should have
      these fields.
      <br>
      <br>
      MovieTexture {
      <br>
        ...
      <br>
        SFInt32 [] width_changed
      <br>
        SFInt32 [] height_changed
      <br>
      }
      <br>
      <br>
      ImageTexture3D {
      <br>
        ...
      <br>
        SFInt32 [] width_changed
      <br>
        SFInt32 [] height_changed
      <br>
        SFInt32 [] depth_changed
      <br>
      }
      <br>
      <br>
      Maybe also ImageCubeMapTexture should have such field, which needs
      to be defined.
      <br>
      <br>
    </blockquote>
    <p><br>
    </p>
    <div class="moz-signature">-- <br>
      <font class="tahoma,arial,helvetica san serif" color="#333366">
        <font size="+1"><b>Leonard Daly</b></font><br>
        3D Systems & Cloud Consultant<br>
        LA ACM SIGGRAPH Past Chair<br>
        President, Daly Realism - <i>Creating the Future</i>
      </font></div>
  </body>
</html>