IRC Logs for #zfx


2021-05-03

05:29:50 Schrompf joined the channel
06:17:39 Schrompf: JA, wir sind die Alpenmädels und das Singen macht uns froh!
06:32:50 IceMichael: moin
08:09:22 xq: moin moin
08:13:55 xq: nochmal eine schöne ausführung zu SVG:
08:13:56 xq: > Note that the EBNF allows the path data string in the d property to be empty. This is not an error, instead it disables rendering of the path. Rendering is also disabled when the d property has the value none.
08:21:07 xq: IceMichael: zu deiner frage mit den löchern: https://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Even-odd_and_non-zero_winding_fill_rules.svg/1200px-Even-odd_and_non-zero_winding_fill_rules.svg.png
08:27:01 IceMichael: was sagt mir das?
08:27:11 IceMichael: einmal ist es gefuellt einmal nicht. Wo es gefuellt ist, haben Pfade noch Pfeile
08:28:16 xq: die pfeile geben die zählreihenfolge an
08:28:42 IceMichael: was wird gezaehlt und warum ist das wichtig?
08:28:44 xq: du hast ein even-odd verfahren, also "even=leer, odd=gefüllt"
08:28:53 xq: gezählt werden die linien, die geschnitten werden
08:29:24 xq: damit kannst du eben überschneidungen korrekt darstellen
08:29:31 xq: und ich bin mir ziemlich sicher, dass ich das für TVG auch brauche :(
08:29:56 IceMichael: hm, aber zB oben kreuzen sich zwei Richtungen ja in einem Punkt
08:31:08 xq: an der stelle passierst du aber immer noch zwei linien
08:40:37 xq: mal was anderes:
08:40:42 xq: ich hab gestern http://flying-cafe.com/ Cradle durchgespielt
08:41:01 xq: hakt ein wenig am Gameplay, aber alles in allem eine coole, fesselnde Erfahrung
08:41:10 xq: ist aber auch grade ein bisschen mehr als ein Walking-Simulator
08:58:12 IceMichael: hm, also ich raff immer noch nicht, was mir die Pfeile bringen
08:58:44 Schrompf: directions
08:58:45 IceMichael: ich haette gedacht, wenn ich mir ne Flaeche anschaue und alle Linien der Flaeche nehme, da durchlaufe und bei nem Pfeil zaehle, dann krieg ich ueber sum raus, ob fuellen oder nicht je nach oddity von sum?
08:58:48 Schrompf: SCNR
08:59:08 IceMichael: ja, aber was bringt es mir da lustig rumzufahren (bis ich auf die Gegenrichtung crashe?) :D
08:59:26 xq: IceMichael: ich glaube, du solltest das bild unten rechts komplett ignorieren
08:59:34 xq: da kenn ich den kontext auch nicht
08:59:54 IceMichael: hm, aber es hat ne andre Fuellung als unten links
09:00:10 IceMichael: du hast das Bild ja wegen irgendwas gepostet, was ist denn jetzt deine Aussage damit?
09:00:40 xq: na, das war einfach nochmal zu der sache mit überlappenden pfaden und der even-odd regel
09:00:45 xq: wie sowas dann halt aussieht
09:02:27 IceMichael: ok, wsl kenn ich die even-odd-Regel einfach nicht
09:02:44 IceMichael: wenn ich da rumcruise, kann ich die Ueberschneidungen zaehlen, das ist so weit ja trivial
09:03:51 IceMichael: zaehl ich jetzt, wie viele Flaechen einen Pixel ueberlagern und die Zahl der Flaechen sagt "fill" bei odd und "not fill" bei even?
09:04:18 xq: du schaust, wie viele linien du beim "verlassen" des pfades hast
09:04:21 IceMichael: weil so kenn ich das, aber bin gerade nicht sicher, wie man das mit Pfaden kombiniert (trivialerweise sagen die jetzt natuerlich wieder, was ne Flaeche ist, jo)
09:04:25 xq: also, nehme einen beliebigen punkt
09:04:40 xq: und guck, wie oft du den pfad schneidest, wenn du zu (inf,inf) gehst
09:05:28 IceMichael: ah!
09:05:51 IceMichael: dafuer der Pfeil, der unten links/rechts gleichermassen ist?
09:06:14 IceMichael: okay, aber dann ist die Pfadrichtung ja echt wurscht?
09:06:24 IceMichael: und wieso unten rechts dann die Mitte auch gefuellt ist, ist ja noch skuriller
09:06:58 xq: wahrscheinlich "nonzero" fill rule
09:14:59 IceMichael: na ja, aber wenn ich von dem Punkt in alle Richtungen gehen, dann passt's ja nicht, weil oben links wieder was frei ist
09:15:16 IceMichael: aber kA, wie der Algo funktioniert, man kann ja schlecht alle Richtungen abklappern
09:17:31 xq: musst du auch nicht
09:17:37 xq: eine einzige beliebige richtung reiht
09:18:17 xq: es ist egal, das ding ist geschlossen, und als ergebnis hast du, dass du im pfad ne ungerade zahl hast und außerhalb ne gerade
09:18:24 xq: egal für welchen punkt, egal für welche richtung
09:27:48 Schrompf: Das Ergebnis meiner Shaderschimpfe gestern sieht übrigens so aus: http://www.splitterwelten.info/privat/worm_0020.png
09:30:14 xq: die outlines der zellen?
09:30:25 joeydee joined the channel
09:30:29 joeydee: moin
09:32:01 xq: moin joeydee!
09:34:38 joeydee: Even-Odd-Regel kann man auch so veranschaulichen: man geht den Pfad CW entlang, d.h. rechts vom Pfad ist gefüllt. Immer wenn man den Pfad schneidet, wechselt die Seite.
09:35:53 xq: ah, auch gut
09:36:01 xq: auf jeden fall: ich sollte das wohl mal einbauen
09:36:07 xq: genauso wie pfade mit mehr als 64 nodes :D
09:37:10 joeydee: Musst du einbauen, hatten wir es ja auch schonmal davon. Wenn du z.B. mal einen Font-Pfad importieren willst. Das ist Standard in allen Vektorformaten.
09:37:44 joeydee: Hast du jetzt deine Arcs eigentlich als Beziers gerendert? Oder eigene Mathe?
09:38:14 joeydee: (Übrigens, im Wiki-Bild ist im letzten Bild der obere Pfeil definitiv falsch rum)
09:38:45 xq: eigene mathe, hat jemand anders implementiert
09:39:03 joeydee: naja, finds unnötig, aber musst du wissen.
09:39:09 xq: weil: die mathe für die umrechnung von "ellipse auf bezier" ist die selbe, die ich direkt zum rendern brauche
09:39:11 xq: :D
09:45:07 joeydee: "Plastik, Holz und Chips werden pandemiebedingt knapper" - gut, ich esse sowieso lieber Flips als Chips.
09:45:27 xq: joeydee: ich rendere ja sowieso am ende nur polygone raus grade
09:46:04 xq: was ich mich grade eher frage ist, wie ich den renderer so bauen kann, dass er zügiges even-odd hinbekommt
09:47:00 joeydee: Ich hab die Antwort schonmal gegeben, ich würd einen Pixel-Rasterizer bauen, statt Polygone.
09:47:35 joeydee: Ich seh da keinen Vorteil irgendwie
09:55:22 xq: weniger komplexer renderpfad
09:55:34 xq: ich mein, ich render grade eh auf per-pixel basis in software
09:57:38 xq: aber ich frag mich, wie ich das dann auf GPU sauber rendern kann
09:59:14 Schrompf: ne GPU ist doch die definition von "per-pixel-basis"?
09:59:32 Schrompf: wenn man das irgendwie im fragment shader auswerten kann, hast du doch gewonne
09:59:37 xq: ja, kann man
09:59:39 xq: aber ich frage mich, wie
09:59:47 xq: dynamische buffersize im fragment shader?
09:59:49 xq: wie gut geht das?
10:00:21 Schrompf: gar nich, denke ich. aber du könntest ja alle daten auf ne textur packen und dann davon samplen. und dynamische schleifen kriegt die gpu stressfrei hin
10:00:39 xq: hm
10:00:46 Schrompf: das geht sogar in dx9, wenn auch nicht sonderlich flink
10:01:46 xq: jo, muss ich mal gucken, wie ich das mache
10:04:42 xq: aber: rendering ist halt auch so ne sache
10:04:51 xq: die ganze pfadgeschichte ist schon relativ costly
13:57:50 Magister joined the channel
14:02:12 joeydee_ joined the channel
17:38:55 Biolunar joined the channel
18:32:09 Schrompf joined the channel