Mario Breskic

Mario Breskic

Grafikdesigner

Kategorien

  • Baukasten
  • Blog
  • Hört
  • Liest
  • Macht
  • Notiert
  • Schaut
  • Spielt

Seiten

  • About
  • Bücherregal
  • Datenschutzerklärung
  • Design-Websites
  • Freunde
  • Impressum
  • Kontakt
  • Medienfeed
  • Now
  • Social Media
  • Werkzeuge

Socials

  • Are.na
  • Artbreeder
  • Artstation
  • Bēhance
  • Bluesky
  • Cara
  • Das Auge
  • Doměstika
  • Facebook
  • Facebook Page
  • Flickr
  • Github
  • Goodreads
  • Instagram
  • LinkedIn
  • Mastodon
  • Medium
  • Page Online
  • Pinterest
  • Stackoverflow
  • Substack
  • Tumblr
  • Twitter
  • Xing

Webroll

  • Ariane Konzepterin
  • Alexander Auffermann
  • Andreas Ken Lanig
  • Andreas Maxbauer
  • Andreas Rauth
  • David Sickinger
  • Harald Geisler
  • Jenny Habermehl
  • Kamman Rossi
  • Marco Hayek
  • Martina Wetzel
  • Narrata.io
  • Rene Stach
  • Stephanie Kowalski
  • Tilo Staudenrausch
Startseite › Baukasten › CRT-Pixel-Shader-Brush für BlackInk

CRT-Pixel-Shader-Brush für BlackInk

Autor: 

Mario Breskic

Publiziert am: 

7. August 2025

Zuletzt editiert: 

11. August 2025

Dieses kurze Shader-Skript erzeugt RGB-Streifen entlang der Pinselbewegung und eignet sich als visuelles Experiment oder Ausgangspunkt für eigene Brush-Designs. Es kann direkt in BlackInk eingefügt werden – dazu einfach den Code in den „Brush Pixel Shader Editor“ kopieren und als neue Konfiguration speichern.

Die Streifen entstehen durch eine einfache Modulo-Logik: Jede dritte Spalte wird abwechselnd rot, grün oder blau eingefärbt. Die Frequenz lässt sich über die uv.x-Skalierung anpassen. Die Berechnung erfolgt auf Basis der Pinselrichtung und ‑länge, wodurch das Muster dynamisch auf die Strichführung reagiert.

cfg {
name = "Vertical RGB Stripes";
renderingTime = 60;
}

float4 main(idatas i) {
// Normalize stroke space UVs
box2 b = box2FromCenterAxe(i.strokeStartPos, length(i.strokePos - i.strokeStartPos), normalizeSafe(i.strokePos - i.strokeStartPos));
float2 uv = 4 * b.toCenter(i.pos) / b.size;

// Scale up horizontal frequency
float stripe = floor(uv.x * 60); // visible stripes

// Simple stripe pattern: R, G, B
float3 col = float3(0.0, 0.0, 0.0);
if (mod(stripe, 3) == 0) {
col.r = 1.0;
} else if (mod(stripe, 3) == 1) {
col.g = 1.0;
} else {
col.b = 1.0;
}

return float4(col, 1.0);
}
blackink hlsl pixel shader pixel shader brush snippets

Kommentare

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mario Breskic

Grafikdesigner

Kategorien

  • Baukasten
  • Blog
  • Hört
  • Liest
  • Macht
  • Notiert
  • Schaut
  • Spielt

Projekte

  • Code and Canvas
  • Medienfeed
  • Mastodon Server
  • Social Wall

Kolophon

  • Datenschutz­erklärung
  • Impressum
  • Kontakt
  • Humans.txt
  • Llms.txt
  • Sitemap

Twenty Twenty-Five

Gestaltet mit WordPress