1 Punkte von GN⁺ 2024-12-19 | 1 Kommentare | Auf WhatsApp teilen

Einführung

  • XOR-Texturen sind Texturen, die sich einfach erzeugen lassen, und sind für Testzwecke nützlich.
  • In Demos oder Spielen werden sie häufig verwendet, weshalb sie nicht empfohlen werden.
  • Sie sind nützlich, um einen Texture Mapper schnell zu testen.

XOR-Texturen

  • XOR-Texturen werden erzeugt, indem auf die x- und y-Koordinaten des aktuellen Pixels die XOR-Operation angewendet wird.
  • In C++ lässt sich das mit dem Operator ^ umsetzen.
  • Die Texturgröße sollte eine Zweierpotenz sein. Andernfalls leidet die Qualität.
  • Die Farbwerte liegen zwischen 0 und 255; ist die Texturgröße kleiner als 256, wird sie dunkler.
  • Ist die Größe größer als 256, sollten die Farben auf 256 begrenzt werden.

Farben

  • Durch unterschiedliche Einstellungen der Werte für R, G und B kann man XOR-Texturen in verschiedenen Farben ausprobieren.
  • Man kann auch die Funktion HSVtoRGB verwenden und den XOR-Wert als Farbton nutzen.

AND und OR

  • Auch die Operatoren AND und OR erzeugen ähnliche Texturen.
  • Der AND-Operator gibt nur dann 1 zurück, wenn beide Bits 1 sind.
  • Der OR-Operator gibt 1 zurück, wenn mindestens eines der beiden Bits 1 ist.
  • AND-Texturen sind dunkel, OR-Texturen hell.

Fazit

  • XOR-Texturen sind nützlich, um Textur-Renderer zu testen, eignen sich aber nicht für Kunst oder Spiele.
  • Sie können auch als 3D-Textur (x ^ y ^ z) verwendet werden, um einen Planeten-Textur-Renderer zu testen.

1 Kommentare

 
GN⁺ 2024-12-19
Hacker-News-Kommentare
  • Ein Nutzer erstellte ein Programm in x86-Assembly, das mit 1-Bit-Farben Bilder erzeugt. Das Programm verwendet parity(x ^ y) statt x ^ y und wendet je nachdem, ob eine gerade Anzahl von 1-Bits vorliegt oder nicht, unterschiedliche Farben an. Dadurch entsteht ein fast periodischer, aber nicht perfekter Kacheleffekt. Das Programm wurde 2019 mit fasm geschrieben und erzeugt XPM2-Dateien.

  • In der Mittelstufe konnte ein Nutzer nur einfache CLI-Anwendungen erstellen, lernte aber durch Lodes Computer Graphics Tutorial, wie man ein Fenster öffnet und Grafik zeichnet. Dadurch konnte er Retrospiele wie Pacman, Snake und Space Invaders nachbauen. Dank dieser Website konnte er früh eine Karriere in der Softwareentwicklung beginnen.

  • Ein ähnlicher animierter Effekt mit einer Funktion wie color = (y == (x ^ t)) wird „munching squares“ genannt. Er wurde Anfang der 1960er Jahre für den PDP-1 geschrieben, und jemand hat ihn auf dem PDP-1 im Computer History Museum vorgeführt gesehen. Das Display des PDP-1 kann nur Punkte zeichnen und verwendet keinen Bitmap-Framebuffer, erzeugt aber mithilfe der langen Nachleuchtdauer des Bildschirmphosphors XOR-Texturen.

  • Es gibt die Meinung, dass dies an Hamming-Distanz-Texturen erinnert. Ein Nutzer hat mit dieser Textur einen Quilt gemacht und ihn in Regenbogenfarben als Wanddekoration aufgehängt.

  • Es wurde die interessante Tatsache geteilt, dass jeder Punkt in der XOR-Textur die kleinste ganze Zahl ist, die weder oberhalb noch links davon vorkommt.

  • Die Website Dwitter ist eine Plattform für einzeilige JavaScript-Beispiele mit Canvas, auf der Nutzer ihre auf 140 Byte begrenzten Werke teilen können.

  • Es wurde gezeigt, wie sich dieses Muster in der Sprache J ausdrücken lässt. Im Playground der J-Software kann man es ausprobieren.

  • Auch nach 20 Jahren gibt es noch viele nützliche Informationen, und besonders für die Arbeit mit Shadern könnte es hilfreich sein.

  • Jemand erwähnte, durch Lodes Website Raytracing gelernt zu haben, und dass ihm das Layout der Seite immer noch gefällt.