hab mich grad mal mit meinen bescheidenen C++ -Kenntnissen (hätt ich mich mal nicht durch Info gemogelt...) durch den Sourcedcode gewühlt.. eben weil ich mal das und mal das gelesen habe mittlerweile. Der eine sagt "wird bei jedem neu geladen" der andere sagt "wird nur einmal gerendert"...
Soweit ich das sehen konnte werden
Texturen für den Ava (skin, Kleidung, etc.) erstmal ins System hochgeladen, dann holt sich der Viewer diese
Texturen wieder von der Datenbank um den eigenen Ava "zu machen".
Dabei werden dann die baked textures direkt vom viewer erstellt und wieder an den Server hochgeladen als ein Set von 5 Texturen. Und der Server verteilt dieses Set dann an jeden, der den Ava sieht (inkl. dem Viewer, der diese bakes textures erstellt hat).
Ist kompliziert, aber so muss der Viewer nicht die 10 bis 15
Texturen aller anwesenden als ein Layer umrechnen, er kann wohl die baked Textures der andern einfach auf die Dreiecke aufziehen...
In /linden/indra/newview/llvoavatar.cpp ist jedenfalls das ganze mit der Größe festgelegt, und die liegt konstant bei 512x512 Pixel für alle 5 baked
Texturen eines Avas.
Also sind auch die Augen eine
Textur mit 512x512 Pixel, und das Anpassen der
Textur auf die 100x100 sichtbaren Pixel, das macht dann der jeweilige Viewer, der den Ava sieht.
Allerdings gilt dies nur für Kleidung, Augen und Skin.
Da entsteht durch eine übergroße
Textur nur minimale Mehrbelastung, nämlich jedes mal wenn der Uploader ein rebake macht, dann wird die große datei vom viewer runtergeladen.
Bei Primkleidung/Primbodyparts wird die
Textur nicht in der Größe skaliert.
D.h. da wird die große
Textur an jeden geschoben.
Tut mir leid, Lexington, da lag ich falsch mit der Augentexturgröße und dass da jeder die große
Textur lädt. War wohl eine Fehlinformation.
==> Es macht wohl doch Sinn seine Augen mit 512x512 Pixeln zu machen.
(Hättest du das gleich erwähnt, dass das auf diese Größe festgelegt ist, dann hätten wir uns hier wohl viel stress erspart.. *g*)