Physically Based Rendering kommt nach SL

Linden Lab schraubt erweitert mal wieder die Grafik-Engine um neue Möglichkeiten. Aktuell wird Physically Based Rendering – kurz PBR – hinzugefügt. Es gibt dazu bereits einen Projekt-Viewer, der sich allerdings noch im Alpha-Stadium befindet.

Was also ist PBR? Kurz gesagt eine Technik mit der es möglich ist, Materialoberflächen sehr realistisch darzustellen. Der Vorteil davon liegt auf der Hand: Second Life wird wieder einen Tacken realistischer.

Der Nachteil wird sein, dass man im Viewer des erweiterte Beleuchtungsmodell – auch ALM genannt – nicht mehr abschalten können wird. ALM wird in Zukunft der Standard sein, mit dem der Viewer arbeitet, fertig.

Das hat natürlich einen nicht zu vernachlässigenden Einfluss auf die Leistung des Viewers; sie wird tendenziell geringer – wer also jetzt schon mehr Daumenkino genießen sollte, wird in Zukunft wahrscheinlich eine stärkere GPU benötigen. Wie stark der Einfluss werden wird kann noch keiner sagen, da der Viewer offiziell ja noch in der Alpha und damit nicht optimiert ist. Sicher ist aber, dass mehr graphische Opulenz eben auch mehr Arbeit für die GPU bedeuten wird.

PBR wird es als neue Technik ermöglichen, richtige Spiegel zu bauen und realistisch wirkende Metalloberflächen. Das wird wohl auch die am meisten auffallende Neuerung werden.

Hier gibt es noch ein Video zu dem Thema, das ein wenig genauer darstellt, was PBR grafisch bedeutet.

PBR im Video.

Und hier noch der Link zur Wiki-Seite des Projekts.

Das Thema selbst ist endlos, und es ist eine Technik die es schon länger gibt, aber jetzt erst in Second Life eingeführt werden soll. Daher gibt es auch eine Vielzahl an allgemeinen Einführungen dazu im Internet zu finden.

Ich finde diese Einführung auf Deutsch zeigt sehr gut, was damit allgemein alles möglich ist.

Normal und Specular Mapping für Second Life Viewer kommt bald

http://www.youtube.com/watch?v=pr3AP_DADAY

Die Entwickler vom Exodus Viewer erweitern in Zusammenarbeit mit Linden Lab den Second Life Viewer um die Möglichkeit der Verwendung von Normal und Specular Maps – Linden Lab kümmert sich um die Serverseite, Exodus um den Viewer. Da ein Video mehr als tausend Worte sagt, schaut euch oben das Video dazu an, danach sieht man klarer was da bald auf uns zukommt (das Video ist aus dem offiziellen Secondlife-Kanal bei Youtube und taufrisch).

Das sind Eigenschaften, die manche Designer schon lange gerne gehabt hätten – und nun bald kommen werden. Zudem soll es möglich sein genauer festzulegen, wie Licht von Oberflächen reflektiert werden wird. Alles in allem eine schöne, neue Sache Second Life grafisch noch opulenter zu gestalten (auch wenn sicherlich viele nun wieder sagen werden, dass Linden Lab besser erstmal einen Haufen bereits bestehender Features mit dem notwendigen Feinschliff vollenden sollten, bevor sie da schon wieder eine weitere Baustelle eröffnen).

Mit Besten Dank an Amadeus Hammerer für den Link.

Die Hair-Fair und stetig wiederkehrende Lagmythen

Ein Bild von der Hair Fair 2010 inkl. Simstats.

Es ist mal wieder die Zeit des Jahres, in der alle namhaften Designer in Second Life ihre neuesten Haarkreationen auf über vier Sims ausstellen. Das bedeutet auf vier Sims ständig mindestens je Sim 40 Avatare und Laghölle pur. Das ist dabei auch wieder einmal die Zeit des Jahres, in der man sich stark der technischen Grenzen von Second Life bewusst wird und die Mythen von Second Life wiederkehren, wodurch alles Lag entsteht.

Wieder mal typisch dabei ist auch die Bitte, alles Mögliche an Prims und HUDs vom Avatar abzunehmen und nur quasi „nackt“ zu erscheinen. Es zeigt immer noch, dass da viele nicht verstanden haben, was Lag ist und was nicht, wodurch er entsteht und wodurch nicht. Obwohl ich sagen muss, ich war vorhin auf den Sims gewesen, diese sind bereits so weit als möglich optimal gegen Lag gebaut worden.

Auch immer und immer wieder kommen dabei die Leute auf, die geradezu zwanghaft die ARC eines Avatars betrachten und einen dann anpampen, wenn diese in deren Augen viel zu hoch ist. Was soll man denen sagen? Es ihnen jedes Mal erklären, dass die ARC ein Maß für die clientseitige Last der Grafikkarte ist? Meist kommt diese Botschaft bei diesen Leuten erst gar nicht an, ebenso wenig wie die Erkenntnis, dass sie das selber in der Hand haben – kauft euch einfach eine bessere Grafikkarte und fertig, die kosten auch längst nicht mehr die Welt!

Denn was ist der Sinn in einem Modeevent, wenn man da nicht zeigen darf, wie modisch der eigene Avatar aussehen kann?

Aber so gilt: the same procedure as last year? The same procedure as every year!

Llkdu, Emkdu und OpenJPEG oder: was ist was und wozu braucht man es?

In allen Diskussionen um den Emerald-Client wird auch immer wieder über die Emkdu.dll diskutiert, viele wissen nicht wirklich, wozu diese gebraucht wird noch was sich hinter diesen verschiedenen Begrifflichkeiten wie OpenJPEG und Llkdu verbirgt. Ich will hier einmal das Knäuel ein wenig aufdröseln.

Die Basis von allem: JPEG2000.

Second Life basiert auf 3D-Objekten, die mit Texturen beliebigen Inhalts überzogen werden können. Da diese Texturen viel Bandbreite bei der Übertragung und auf Seiten Linden Labs dauerhaft Speicherplatz benötigen, war beim Design von Second Life eines der Ziele gewesen, einen Standard zu wählen, der möglichst viel Information bei möglichst wenig Speicherbedarf abbilden kann.

Man kennt diese Problematik bereits aus dem WWW, dort ist JPEG das verbreitetste Kodierungsverfahren für Bilder aller Art. Wichtig dabei ist, dass JPEG Bilder verlustbehaftet komprimiert, das bedeutet, es gehen je nach Qualität mehr oder weniger gut sichtbar Informationen verloren. JPEG basiert dabei auf verschiedenen Kodierungsschritten, wobei das Herz ein aus der Mathematik bekanntes Verfahren namens diskrete Cosinus-Transformation darstellt

Nun entstand JPEG aber im Jahr 1992 und seitdem blieb die Welt nicht stehen, im Laufe der Zeit entstanden bessere Verfahren als dieses. Bei der Konzeptionierung von Second Life entschied man sich für JPEG2000 als den Standard aller Bilder. JPEG2000 ist jünger als JPEG, damit technisch weiter und komprimiert Bilder besser. JPEG2000 ist rechenintensiver im Vergleich zu JPEG und basiert auf dem Verfahren der diskreten Wavelet-Transformation, zudem ist es teilweise von Softwarepatenten geschützt.

Kurz: alle Bilder, die wir in Second Life sehen, basieren auf dem Bildstandard JPEG2000. Da dieser sich bisher bis auf einige Nischenbereiche kaum durchgesetzt hat, muss der Viewer die benötigten Grundfunktionen zum De- und Kodieren dieses Standards selber mitbringen. Dies geschieht mit Hilfe einer Programmbibliothek, die die dazu benötiigten Funktionen bereitstellt.

Auftritt: OpenJPEG!

OpenJPEG ist eine Opensource-Implementierung des JPEG2000-Standards, die unter der BSD-Lizenz steht. OpenJPEG ist dabei solide programmiert, aber was die Kodierungs- und Dekodierungsgeschwindigkeit anbelangt die langsamste Variante. Dafür ist die Benutzung von OpenJPEG kostenlos und damit ist es die Standardbibliothek aller alternativen Viewer, die diese zur Darstellung von Texturen benutzen. Der Vollständigkeit halber sei erwähnt, dass es mit JasPer noch eine weitere OSS-Implementierung des Standards gibt, die im Viewer aber nie Verwendung fand.

Schneller: LLkdu!

Die industriell genutzte Standardimplementierung in C++ von JPEG2000 stammt aus dem wenig bekannten Softwarehaus Kakadu Software. Der Autor ist dabei einer der Urheber dieses Standards. KDU im Dateinamen ist dabei nichts anderes als die Abkürzung für „Kakadu“ und LL steht für Linden Lab.

Diese Implementierung des JPEG2000-Standards ist dabei um Längen schneller arbeitend als OpenJPEG, dafür aber kein Opensource und zum Einsatz in Software ist eine saftige Lizenzgebühr fällig. Linden Lab liefert seinen Viewer standardmäßig mit Kakadu als Bibliothek aus, und das Ergebnis macht sich in spürbar schnelleren Ladezeiten der Texturen bemerkbar.

Noch schneller: Emkdu!

Einer der Entwickler von Emerald, Phox Modularsystems, lizenzierte bei Kakadu ebenfalls deren Bibliothek in einer neueren Variante als Linden Lab das tat und baute darum seine eigene Variante namens Emkdu.dll. Die Lizenz zur nicht kommerziellen Nutzung der Bibliothek kostet dabei im Jahr 250 US$, und es machte sich in einer nochmals leicht schnelleren Geschwindigkeit beim Laden der Texturen bemerkbar.

Er baute in die Bibliothek dann auch eine Funktion ein, die den Dateipfad samt Windows-Titel vom Emerald-Viewer in den Metadaten der Avatartextur versteckten, das ist inzwischen nicht mehr der Fall, aber war auch der Anstoß für viel Kritik.

Fazit

Emerald funktioniert bisher mit Emkdu, Llkdu und OpenJPEG, ansonsten jeder Viewer zumindest mit Llkdu oder OpenJPEG. Die Bibliotheken sind dabei beliebig austauschbar; wer z.B. im Verzeichnis von Emerald die emkdu.dll löscht und den Viewer neu startet, dann nutzt der die noch vorhandene openjpeg.dll und gut ist es.

Wer wirklich auf der sicheren Seite sein will, der sollte momentan nur OpenJPEG oder LLkdu nutzen bis die Turbulenzen um Emerald geklärt sind.

The newest eye candy: Windlight

Today I got my hands on the latest and greatest addition of Second
Life, Windlight. Lindenlabs bought the company behind it – good to see
that LL has some money – and there’s already a Firstlook viewer
available to get the first impressions of how it might look like.

It’s
available for all platforms unlike voice and you can play around with
it. Of course you need a somewhat decent graphics card to see the
effects in action, seems it is programmed with vertex shaders, which
means that most of the stuff actually runs on the hardware of the
graphics card itself.

So, if you’ve got decent enough hardware and you play around with it, you might make pictures in game like this:

This shows a typical, default sunset at the sea. Note that this is no mockup picture, but taken in world, click on it for the larger version. Well, and here is another picture.

This is the default setting "midday". Looks also interesting, the clouds are rendered in real time and you can see them wandering around. Last picture for the moment is this:

Never looked a night more darker in Second Life than on this picture. Well, it still needs polishing, of course, the animation goes way too fast – it’s more actually screaming "Hey, I am here!" at the moment to all of us, but when it is finished, this is for sure going to be a very good addition to the whole gameplay, even if the guys at the Second Life Herald disagree with me.