Including texture data as a separate file is a good idea. It will help with compression and will simplify situations where multiple files use the same texture. It’s a bit like whether or not to embed fonts in a PDF.
During the initial discussions of AMF we actually were planning to allow the AMF file to refer to external sources such as images, textures, and material, just like HTML refers to external images. We can still do it if we decide to. The objection that several people raised was that this can cause some ambiguity, which in the world of manufacturing is a big concern.
My suggestion would be to hold off on this for now until we get some traction. But if others think it’s a good idea to include it now, I would like to hear.
--hod
--
First, the texture data embedded in the AMF xml is NOT compressed. It
is encoded in Base64 which is binary data that simply limits itself to
a subset of ascii characters compatible with xml. This actually
increases the number of bytes (opposite of compression) and shouldn't
significantly affect its later compressibility in a binary zip'd amf.
Like Hod says we supported external textures in an early version of
the spec. I think as developers we like the granularity of having our
texture files separate. In compressed amf form (zip archive) this
would be fine. However, if we maintain support for uncompressed amf,
can you imagine how many times an end user would forget to copy the
separate texture file(s) alongside the ascii amf when they go to print
or upload to a service bereau?. From an end user perspective I don't
see how we can both maintain uncompressed amf as a usable option and
allow external textures.