IRC Logs for #zfx


2021-05-02

08:02:55 xq: Dag
08:57:17 Schrompf joined the channel
08:59:39 xq: moin Schrompf
09:00:15 Schrompf: moin
09:47:35 Hannes joined the channel
09:48:41 Hannes: Guten Morgen!
10:24:24 Schrompf: moin
11:22:41 xq: https://twitter.com/jfbastien/status/1388229180211404803/photo/1
11:50:53 Hannes left the channel
11:52:02 xq: spiri geht mir echt aufn sack :/
11:54:50 Schrompf: jau, schon so ein bissl
12:06:56 xq: SVG ist übrigens zum Kotzen
12:07:03 xq: wenn mal etwas overengineered ist, dann dies
14:32:07 IceMichael: xq, was genau stoert dich?
14:33:33 xq: die flut an stuff das nicht in den channel gehört, primäroutput von spiri ist rumgekotze über seine situation, aber nicht irgendwie in einem diskurs, sondern als endlos-dump
14:35:17 IceMichael: ich hatte es auf svg bezogen, das ist spannender, aber jetzt brauch ich context: welcher channel?
14:35:26 xq: #sppro
14:35:37 xq: aber was mich stört?
14:35:39 xq: *alles*
14:35:46 xq: bei svg
14:36:41 IceMichael: ok, also gerade hat spiri so viel aufgelistet, was da gerade an Kram abgeht, dass ich nach meinem 2h-Schlaf gerade nicht faehig bin zu filtern, was ueberhaupt die Quintessenz war :D
14:37:21 xq: "nichts"
14:37:29 xq: ich hab irgendwann aufgehört zu lesen
14:37:35 xq: zu SVG:
14:37:43 xq: wie setzt man die farbe für ein element?
14:37:55 xq:


14:38:01 xq:


14:38:11 xq:


14:38:19 xq:


14:38:26 xq: (hab das p-element mal leer gelassen
14:38:45 xq: aber: es gibt noch eine andere option, um ein element zu schwarz zu färben
14:38:50 xq: du gibst einfach *keinen* fill an
14:38:58 xq: fill="none" sagt dann aber, dass das element nicht gefüllt wird
14:39:26 IceMichael: ja, ich hantiere manchmal auch mit svg
14:39:37 IceMichael: du meinst also, es ist das PHP unter den Grafikformaten? :D
14:40:27 xq: ja
14:40:32 xq: alles redundant
14:40:34 xq: doppelt vorhanden
14:40:42 xq: "7.8.1 Open raw sockets"
14:42:45 IceMichael: hm, Menschen sind redundant, zwei Arme, zwei Beine, zwei Brueste etc.
14:42:54 IceMichael: aber ja, ist etwas wirr dieses svg
14:42:54 xq: zwei arme sind nicht redundant
14:42:59 xq: zwei brüste ja :D
14:43:02 IceMichael: hehe
14:43:34 IceMichael: ja, aber die Redundanz ist ja erfreulich
14:44:09 xq: joa
14:45:18 IceMichael: sorry, bin immer noch verschlafen, bin gerade unhilfreich. Bin erstmal essen (:
15:12:17 Hannes joined the channel
15:45:49 Schrompf joined the channel
16:30:16 xq: JO
16:30:17 xq: GEIL
16:30:46 xq: https://mq32.de/public/14e949227453c9a778691a7b2350c6cf0ae0fd05.png
16:35:41 xq: links ist das orginal svg, rechts eine TVG-Variante
16:37:53 IceMichael: hm, was ist tvg? und sieht rechts teilweise verfaelscht einfach aus?
16:42:19 xq: TVG ist mein Vektor-Format
16:42:29 xq: IceMichael: was rechts fehlt, sind überlappende pfade
16:42:36 xq: welche nach even-odd-prinzip rendern
16:42:42 xq: ich bin am überlegen, ob ich das für TVG nachrüste
16:45:01 Schrompf: hätte bald gesagt "wozu denn, du willst doch explizit einfacher als svg sein"
16:45:27 Schrompf: aber wenn du svgs rendern könntest, bräuchstest du keine editoren, sondern könntest ein bestehendes ökosystem nutzen
16:46:14 xq: Schrompf: ich sehe, du verstehst meinen Plan
16:46:22 xq: ich bin übrigens konstant 30% unter SVG
16:46:25 xq: in größe
16:47:26 Schrompf: du betonst das immer wieder.
16:47:35 Schrompf: ich verstehe auch, dass du darauf stolz bist
16:47:45 Schrompf: aber ehrlich: wen kümmert die dateigröße von solchen icons?
16:48:19 xq: Webdevs, Embedded Devs
16:48:31 IceMichael: hm, ernsthaft? die sind doch wirklich klein genug
16:48:33 xq: wenn deine website 30% kleiner ist, lädt sie schneller
16:48:43 IceMichael: ja, aber das haengt nicht an den svgs, oder?
16:48:57 xq: kommt stark auf die seite an
16:49:00 IceMichael: mittlerweile ist der JS-Code und richtige Fotos doch schlimmer, oder zu viele requests
16:49:07 IceMichael: hm, auf welcher ist das das bottleneck, hastn Beispiel?
16:49:10 xq: Schrompf: ein anderer punkt ist: svgs sind eben überhart komplex
16:49:25 xq: ich hab keine baumstruktur
16:49:29 xq: keine impliziten eigenschaften
16:49:34 xq: keine optionalen features
16:49:42 xq: kein javascript, keine matrix-transformationen, …
16:49:48 Schrompf: richtig. JPEGs schlagen beides um ne zehnerpotenz, und zwei megabyte minified javascript sind auch unvermeidlich. wen interessert da, ob sein icon 2kb oder 1,5kb groß ist
16:49:51 xq: svg hat nen volles subset von CSS und JS
16:50:10 xq: Schrompf: der spannende punkt ist, dass PNGs kleiner als SVGs sind
16:50:21 Schrompf: die einfachheit wäre dagegen ein echtes feature. wenn der renderer dafür ein paar hundert zeilen code sein kann, seh ich jede menge usecases
16:50:22 IceMichael: haengt von der Groesse des Bildes ab
16:50:45 IceMichael: ja, stimme Schrompf zu. Groesse und Ladezeit, da kriegst du mich nicht ueberzeugt. Einfachheit vom Format definitiv
16:50:50 xq: der soft-renderer sind 600 LOC
16:50:54 Schrompf: jau, vergleich vectorformat mit pixelformat ist hanebüchen, darüber brauchen wir nicht zu reden
16:50:56 IceMichael: je nach Anwendungsfall uebrigens auch Rendergeschwindigkeit. Qt ist bei SVGs zB SUPERlangsam
16:51:23 IceMichael: selbst mit precaching, aber da ist es halt auch buggy, weil es das nicht richtig macht manchmal
16:51:24 xq: der vulkan-renderer sind 1400 mit shadern
16:51:35 xq: IceMichael: SVG rendering wird *niemals* schnell sein
16:51:39 Schrompf: *das* sind echt gute punkte. dateigröße not so much
16:51:53 xq: Schrompf: vulkan renderer enthält btw auch pipeline setup
16:51:58 xq: und tga schreiben
16:52:58 xq: der parser ist auch < 1000 zeilen code
16:55:44 IceMichael: was fehlt da jetzt, damit man svgs wie links auch rechts hinkriegt? Oder war das jetzt eh nur so ein automatischer converter, und es haengt noch an dem?
16:56:03 xq: überlappende pfade
16:56:14 xq: meine pfade sind grade nen polygon renderer
16:56:27 xq: svgs rendern für pfade aber keine polygone
16:56:32 xq: sondern "liniensuppen"
16:59:59 IceMichael: wie ein 3D-Drucker?
17:03:10 xq: sorry, war grade abgelenkt
17:03:35 xq: stell dir einfach zwei rechtecke vor
17:03:38 xq: das eine steckt im anderen
17:03:49 xq: das ergebnis ist, dass du eine dicke outline und in der mitte ein loch hsat
17:04:47 xq: ich muss also mein pfad-format anpassne
17:04:53 xq: *anpassen*
17:07:18 Schrompf: oder du lässt es und machst den svg-konverter dafür komplexer
17:07:41 xq: Schrompf: das geht nicht
17:07:46 xq: ich kann keine polygone mit löchern in TVG machen
17:08:01 xq: dementsprechend hättest du nachher dann polygonkanten mit löchern
17:08:04 Schrompf: du kannst aber mehrere polys zusammenstecken, so dass es wie ein loch aussieht
17:08:12 Schrompf: es geht immer. ist nur evtl. mühsam
17:08:14 xq: ja, aber dann kannst du keinen stroke machen ;)
17:08:19 Schrompf: weil du quasi ne 2d-csg scchreibst
17:08:28 xq: weil du linien entlang dieser klebe-kanten hast
17:15:38 xq: Schrompf: ich muss mal gucken, wie man aus diesen überlappenden polygonen richtige pfade machen kann
17:15:54 Schrompf: die lappen
17:15:56 Schrompf: und zwar über!
17:22:19 Schrompf: ich krieg meinen konvex-shader nicht zum laufen :-(
17:23:02 Schrompf: ich geb dem fragment shader einen vec2 worldpos und einen vec3[8] von grenzebenen
17:23:28 Schrompf: und wende dann 7x smoothmin von iniquilez auf die scheiße an
17:23:41 Schrompf: aber ich seh nur mit etwas glück eine der 8 grenzebenen
17:29:44 xq: ach scheiße
17:29:51 xq: der parser, den ich mir woher kopiert habe, tut nur leidlich
17:30:00 xq: morgen abend dann wohl in ruhe mal https://www.w3.org/TR/SVG2/paths.html#PathDataBNF implementieren
17:30:21 Schrompf: guck mal hier: https://pastebin.com/FpFZT65M
17:30:46 Schrompf: eigentlich müsste das doch alles ok sein? 8mal dot( pos_xy1, plane_xyz)
17:30:55 Schrompf: dann 7mal smoothmax()
17:31:11 Schrompf: und die smoothe maximale distanz dann für ein bissl farbspielereien verwendet
17:32:09 xq: ich seh jetzt nix auffälliges
17:32:14 xq: aber ich hab grade ne üble kopfchmerzattacke
17:34:59 Schrompf: ok, trotzdem dankwe
17:39:37 Schrompf: im Shaderdebugger sehe ich im Assembly, dass er nur den ersten Interpolator und den 7./8. Interpolator überhaupt deklariert hat
17:39:53 Schrompf: anscheinend denkt der, dich würde Edge0..5 nicht verwenden?
17:40:37 Schrompf: pfff. schweinepriester
17:47:44 Schrompf: guck an, es war ein fickender compilerbug
17:48:15 Schrompf: logik umgeschrieben, dass er gleich maximal viele floats als vektoren maximiert und schwupps werden alle werte berücksichtigt