This commit is contained in:
Simon Lübeß
2026-03-16 23:34:31 +01:00
parent c17733580c
commit 2c02dbe2a2
3 changed files with 122 additions and 4 deletions

View File

@@ -8,4 +8,8 @@ Im Material für die Haut wird die Luminanz-Kurve angepasst, dafür wird erstmal
Um die Sclera-Textur zu erzeugen wird in der alten Implementierung zunächst eine weiße Textur erzeugt, dann werden die RGB-Werte aller Pixel durch einen zufällig bestimmten Grauwert ersetzt. Anschließend wird ein transparenter Kreis für die Cornea erzeugt und die Glints auf die Textur gemalt.
Die ersten beiden Schritte lassen sich zusammenfassen. Statt erst eine weiße Textur zu erzeugen (`np.ones`) und die Pixel dann grau (`tex[::3] = grau`) zu machen, kann in einem einzigen Schritt ein Array mit den korrekten Grauwerten erzeugt werden (`np.full(size, [grau,grau,grau,1])`). Tatsächlich kommt der meiste Performance-Vorteil durch das ersetzen von `tex[::3]`
Die ersten beiden Schritte lassen sich zusammenfassen. Statt erst eine weiße Textur zu erzeugen (`np.ones`) und die Pixel dann grau (`tex[::3] = grau`) zu machen, kann in einem einzigen Schritt ein Array mit den korrekten Grauwerten erzeugt werden (`np.full(size, [grau,grau,grau,1])`). Tatsächlich kommt der meiste Performance-Vorteil durch das ersetzen von `tex[::3]`
# Pupille verkürzen
Da nur noch ein Modell für alle Ansichten verwendet wird, und dieses einen langen Zylinder am Ende hat, kam es manchmal vor, dass eine Maske generiert wurde, bei der hinten dieser Pimmel sichtbar ist. In der alten Implementierung war er nur in der Hauptszene lang und die anderen hatten ein kurzen. Er wurde in der neuen verkürzt. Es ist nicht wichtig für uns, dass er lang ist.