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 _______________________________________________ Opensim-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/opensim-dev
