Nachdem ich eine Woche nicht daran hab arbeiten können, da der Ati Chip in meinem Laptop keine Shader unterstützt, hab ich mich heute wieder an die Kugel gemacht und konnte die Caps fertigstellen. Wird auch langsam Zeit: übermorgen ist Code Freeze für die Abgabe bei Summer of Code. Das Ergebnis sieht nun so aus:
Die Kugel wurde etwas nach hinten vorschoben um vollständig auf den Monitor zu passen und die Spiegelung wurde deaktviert, da sie mit der unteren Cap überschneiden würde. Kugel und auch Zylinder können übrigens nicht verwendet werden um den Wechsel der Arbeitsfläche zu animieren. Dafür gibt es nur den Würfel. Alles andere würde das Bild bei einer Animation von ca. einer halben Sekunde zu stark stören.
Leider sind meine Versuche Zylinder und Kugel andere Tastenkürzel zu geben erst einmal gescheitert. Irgendwie scheint mir die Vererbung in C++ doch nicht so ausgereift zu sein wie in Java. Eigentlich ja nicht überraschend, da C++ ja auch gelinkt werden muss. Da die Tastenkürzel im Konstruktor festgelegt werden und der Konstruktor von Cube als Elternklasse zuerst ausgeführt wird, hat auch Zylinder und Kugel dessen Tastenkürzel reserviert. Daher bleibt es vorerst dabei, dass man Cube nicht starten kann, wenn Zylinder oder Kugel aktiviert ist. Die Einstellungen sollten sich jedoch noch ändern lassen. Werde ich mir morgen mal anschauen 😉
Wow, ist wirklich schön geworden. Die Überschneidungen sind jetzt auch weg, oder hast du einfach nur die Kugel günstiger hingedreht? 😉
Und noch eine blöde Frage: läuft das ganze unabhängig von der Desktop Umgebung (und daher auch mit Gnome) oder nicht? *kein-KDE-aber-dafür-Kugel-mag*
Die Überschneidungen sind wirklich weg. Beim ersten Screenshot hatte ich noch Fehler in der Mathematik und ich hab den Shader neu geschrieben.
Ich hab noch nie ausprobiert, ob das mit Gnome funktioniert, da es weder auf meiner Platte ist noch ein Designziel ist. Sollte aber eigentlich funktionieren. Also man kann auch KWin von KDE 4 in einer KDE 3 einsetzen. Daher sollte es auch in Gnome funktionieren.