[Opensim-dev] Accessing textures via HTTP [bayes]

Tommi Laukkanen tommi.s.e.laukkanen at gmail.com
Wed Mar 18 16:51:50 UTC 2009


I think j2k is not really supported by any main stream web browser
software nor SDK APIs of different languages. Requiring opejpeg native
lib to be included in all clients is not a good design decission. It
would be much cleaner if you can operate with the nativate image
manipulation API like System.Drawing in .NET. The converted JPEG's can
be easily cached for now. It is only the SL viewers which require it
because of some odd design decission from Linden Lab. I would not be
surprised if in the future textures will be stored as png and
converted to j2k for sl protocol. In high quality virtual world
lossless texture format could be preferable. Odd codecs should not be
forced on other protocols and clients based on ll behaviour.
Especially if we are experimenting with new brand of client / protocol
stacks like IdealistViewer and MXP.

I truly hope metaverse is not stuck with openjepg and j2k. Those
native libs tend to be more trouble than they are worth unless you
absoletuly need them.

Using the accept headers sounds like a good idea to me and if it is ok
with the team I could implement region asset service as Diva suggested
in the patch notes and Accept header support. I can put in cache as
well to avoid performance bottleneck. About image quality: we will end
up transforming from j2k anyway to some image format the client
rendering engine supports. I can also convert from j2k to png instead
of jpg to avoid any degradation as png is lossless format.

One could also consider naming the class as proxy as it will proxy the
call to local or remote asset server. Doing local caching on proxy is
a pattern used in http proxies and it could work for us as well.
Caching assets on region would lower the load on the grid asset
database.

-Tommi



More information about the Opensim-dev mailing list