Profile picture Über mich

sebadorn | blog

Stackless BVH traversal

Im Path Tracing verwendet man spezielle Datenstrukturen für die Geometrie, um diese schneller gegen die Strahlen testen zu können. Eine der üblichsten ist dabei die Bounding Volume Hierarchy (BVH) – ein Binärbaum, der die Szene immer weiter unterteilt. Einen solchen Baum würde man normalerweise rekursiv durchlaufen. Auf der GPU mit OpenCL steht jedoch keine Rekursion zur Verfügung.

Was man daher macht, ist, selbst einen kleinen Stack zu verwalten, in dem man sich den nächsten zu besuchenden Knoten merkt. Dieser Stack benötigt jedoch zusätzlichen privaten Speicher, welcher knapp bemessen ist, und dadurch die Anwendung ausbremst. Wünschens­wert ist daher ein Verfahren, das ohne Stack auskommt.

Aufbau und Ablauf

BVH-Baum.

  • Jeder Knoten hat entweder genau zwei oder keine Kindknoten.
  • Jeder Knoten hat zudem ein Attribut nextNode.
    • Für den linken Kindknoten zeigt nextNode auf den rechten Geschwisterknoten.
    • Für den rechten Kindknoten zeigt nextNode auf den Elternknoten.
Read more

Quod Libets optische Bewertungs-Note ersetzen

Quod Libet mit Noten als Bewertungseinheit

Quod Libets Bewertung erfolgt in Notensymbolen, wie auf dem oberen Screenshot zu sehen. Das finde ich etwas verbesserungsbedürftig, denn das Symbol ist dünn und beim flüchtigen Blick über die Liste fällt es mir da schwer, schnell die unterschiedlichen Bewertungen auszumachen. Also: Sterne sollen es wieder sein.

cd /usr/lib/pymodules/python2.6/quodlibet/util/
gksudo gedit __init__.py

Im Terminal (Ubuntu) wechselt man in das Verzeichnis, in denen die Pythondateien von Quod Libet liegen und editiert __init__.py. Da es sich um Python handelt, ist es wichtig auf korrekte Einrückung zu achten. Hier wurde mit 4 Leerzeichen eingerückt.

RATING_PRECISION = 0.25
def format_rating(value):
    """Turn a number into a sequence of music notes."""
    # Default Note: u'\u266a'  Star: u'\u2605'
    return (u'\u2605' * int(round((1/RATING_PRECISION) * value)))

Am Anfang des return statements ersetzt man den Unicode mit dem für das gewünschte Zeichen. Der Kommentar stammt von mir und sagt hoffentlich alles. Weil Python so toll ist, reicht es den in lesbarer Form vorliegenden Quellcode zu editieren und das Programm neuzustarten. Falls es nicht direkt klappt, löscht mal die __init__.pyc.

Quod Libet mit Sternen als Bewertungseinheit


Anmerkung: Nach einem Update des Players ist die Veränderung sehr wahrscheinlich wieder überschrieben und muss erneut vorgenommen werden.

Read more

K-ON!-Songs gecovert von Josh Agarrado

Josh Agarrado hat sich K-ON! vorgenommen und außer Don’t Say Lazy weitere Songs transkribiert und nachgespielt. Die Klaviernoten gibt es auf seiner Seite.

Das Opening Cagayake! GIRLS:


(Cagayake on YouTube)

In Episode 6 hat der Light Music Club seinen ersten Auftritt auf dem Schulfest und performt Fuwa Fuwa Time (Light and Fluffy Time) mit einer heißeren Yui:


(Light and Fluffy on YouTube)

Episode 8, neue Schüler kommen an die Schule, darunter auch Yuis kleine Schwester Ui. Um unter den Neulingen neue Mitglieder zu finden, tritt der Light Music Club mit My Love Is A Stapler auf.


(Stapler Love on YouTube)

Kapitelende: 1. Semester

Heute ist endlich die letzte Note eingetragen worden. Alle Prüfungen bestanden! Wohoo! Und auch GDS und Programmieren 1, bei denen ich Bedenken hatte, sind sehr zufriedenstellend ausgefallen.

Manga: Bakuman

Bakuman

Bakuman ist das neue Werk der Death Note-Schöpfer Tsugumi Ohba und Takeshi Obata. Entsprechend hoch ist die Erwartung, gemessen am vorherigen Meisterwerk. Mit Bakuman schlagen sie eine andere Richtung ein und bedienen die Genres Slice of Life, Romance und Comedy. Zielgruppe sind Shounen. Der Manga läuft seit August 2008 und hat bisher 29 Kapitel.

Story. Mashiro zeichnet im Unterricht eine Mangavariante seine Mitschülerin Azuki, in die er verknallt ist. Doch er vergisst das Notizbuch und kehrt später noch einmal zurück in den Klassenraum. Dort wartet bereits sein Mitschüler Takagi mit besagtem Notizbuch in der Hand auf ihn. Und er hat einen Vorschlag: Sie könnten sich zusammentun und gemeinsam Manga schreiben; Mashiro als Zeichner und Takagi als Story Writer.

Bakuman – Die Aufforderung
Takagi kommt zum Punkt

Mashiro lehnt ab. Er weiß, wie schwer und fordernd der Beruf des Mangaka ist und dass nur weit weniger als 1% Erfolg haben. Doch Tagaki lässt sich davon nicht beirren. Eines Abends ruft er Mashiro an und bittet ihn, mit zu Azukis Haus zu kommen. Dort erzählt Takagi Azuki, dass er Mangaka wird und Mashiro erfährt, dass sie Synchronsprecherin für Animes werden will und bereits hart daran arbeitet. In diesem Moment bricht es aus Mashiro heraus, dass er seinem Traum des Mangakas folgen wird. Und er legt mit Azuki ein Versprechen ab, dass sie heiraten, sobald sie beide erfolgreich sind.

Bakuman – Er schreibt die Stories und ich zeichne

Meinung. Romance und Comedy? Halten sich arg in Grenzen und sind als Genre genannt, weil mir sonst nichts Passenderes einfällt. Belassen wir es dabei, dass Bakuman eine bisher wenig zu beachtende Love Story beinhaltet und seine amüsanten Momente hat.

Der Zeichenstil ist für mich ungewohnt, aber gefällt. Die Story weckt nach einigen Kapiteln Anlaufzeit meine Neugier und bringt interessante Einblicke z.B. in die JUMP-Redaktion. Den Level von Death Note erreicht Bakuman nicht (was ohnehin verdammt schwer ist), aber es wäre unverdient, würde er keine Beachtung finden. Denn meiner Meinung nach ist dieser Manga gelungen.