IRC Logs for #zfx


2021-05-07

06:38:45 xq: moin
06:58:37 Schrompf joined the channel
07:02:41 xq: moin Schrompf
07:04:43 xq: mein erfolg von gestern abend: https://mq32.de/public/9283b19a22acfff9f36054288a863eb20f5e397c.png
07:05:11 xq: die löcher sind jetzt *löcher* und nicht mehr "weiß überpinselt"
07:11:07 Schrompf: wow, nice. wie hast du das gemacht?
07:13:30 xq: ich hab nen handstand gemacht :D
07:13:41 xq: aber einfach gesagt:
07:13:52 xq: am ende hab ich statt for(vertices) |pt| {} jetzt
07:14:36 xq: for(segments) |seg| { count = 0; for(seg.vertices) |pt| {} } if(count%2 == 1) setPixel()
07:14:49 xq: sprich: ich hab statt einem polygon jetzt beliebig viele überlappende polygone
07:14:57 xq: und wenn ungerade viele polygone an einer stelle sind: füllen
07:15:26 xq: war aber relativ spannend, das format so zu definieren, dass man im vornherein weiß, wie viel speicher man potentiell braucht, bevor man anfängt, die daten zu dekodieren
07:20:17 Schrompf: das ist am ende also quasi der In-Out-Trick im Rasterizer?
07:20:36 xq: hm?
07:20:42 xq: den kenn ich so direkt nicht
07:20:49 Schrompf: also dieses ding bei konkaven Formen, wo man raycastet und dann die Hits zählt. Und "ungerade" == "drin"
07:21:12 xq: ja, nur halt mehrmals
07:21:23 xq: also, du hast mehrere geschlossene konkave formen
07:22:05 Schrompf: jupp, müsste für beliebige anzahl überlappender formen genauso funktionieren, wenn du halt mit diesem on-off-ergebnis leben kannst
07:22:36 xq: naja, das on-off-ergebnis war ja das ziel :D
07:22:39 Schrompf: und ich kann's sicher nicht beweisen, aber ich habe das bauchgefühl, dass das äquivalent zu der "links vom pfad"-regel ist, die du ausm SVG immer hier zitierst
07:22:52 xq: jain
07:22:59 xq: SVG beachtet noch winding order
07:23:07 xq: und weißt du, wo ich mir gestern abend den arsch abgelacht habe?
07:23:49 Schrompf: nein?
07:24:19 xq: ich hab zwei SVG-Viewer
07:24:25 xq: der eine verkackts, der andere bekommts hin
07:24:34 xq: es ging darum, dass man den kram auch mit anderer winding-order tun kann
07:24:38 xq: und der eine viewer verkackts
07:24:53 Schrompf: tja, so ist das mit den komplexen formaten :-)
07:24:56 xq: jo
07:25:05 xq: ich fühle mich bestätigt
07:25:19 Schrompf: nuja, sieh du mal zu, dass über deiner freude für neue features dein format dann nicht auch so ein monster wird :-)
07:25:43 xq: jo, ich hab ne weile drüber nachgedacht
07:25:50 xq: aber: man kommt nicht um overlapping paths drumrum
07:26:03 xq: du brauchst ne möglichkeit, löcher zu schnippeln
07:27:28 Schrompf: man kann das sicher auch triangulieren, aber holy shucking fit hast du da ein problem
07:27:37 Schrompf: von daher: passt so. weitermachen, schulterklopfen
07:27:51 xq: Schrompf: kann man nicht
07:28:12 xq: mach mal ne outline für deinen pfad an
07:28:16 Schrompf: Assimp tut's mit Collada-Polys, die auch innere Polys haben können
07:28:29 Schrompf: man kann also
07:28:32 xq: das klappt, wenn du polygone willst, abe ich brauch die outline
07:28:54 Schrompf: die unterscheidung verstehe ich nicht. dreiecke, kanten, kanten ohne nachbarn == outline
07:29:23 Schrompf: beliebig zu erweitern auf "dreiecke mit gekrümmten kanten nach methode deiner wahl"
07:30:26 xq: ah, ich glaube wir reden von leicht subtilen unterschieden
07:30:38 xq: ich denke grade nur an die pfad-daten selbst
07:30:42 xq: und du wahrscheinlich ans rendering
07:33:12 Schrompf: ja. pfaddaten sind ja nur ein werkzeug aufm weg zur ansicht. man kann ja auch mit was komplett anderem arbeiten, z.b. mit überlappenden polys
07:34:08 xq: jo
07:34:11 xq: oder stencil buffer
07:34:12 xq: :O
07:35:43 xq: auf jeden fall:
07:35:52 xq: heute abend steht an: SVG-Pfad-Parser neu schreiben
07:36:17 xq: weil dann müsste ich in der lage sein, die alle material design icons korrekt zu rendern :)
07:36:29 xq: das wäre schon mal ein guter anfang
07:38:37 xq: danach wirds spannend mit komplexeren icon-bibliotheken
07:45:34 Schrompf: you go, champ!
07:45:44 Schrompf: ich mach nicht, und dann gar nix, und dann ne pause
07:48:53 xq: muss auch mal sein!
08:11:35 Schrompf joined the channel
08:14:10 Schrompf joined the channel
10:08:49 joeydee joined the channel
10:08:52 joeydee: moin
10:09:40 joeydee: gz xq
10:11:53 xq: moin joeydee
10:11:54 xq: thx! :)
10:12:58 joeydee: Hab auch geschuftet gestern. Aber noch ein laaaanger Weg :D
10:13:45 joeydee: Bischen rumgespielt mit dem Ergebnis: https://www.youtube.com/watch?v=vLQXFioDqq8
10:16:31 xq: Kiefer => Boden
10:16:47 joeydee: :D thx
10:17:36 joeydee: 3D-Editor ist nun so gebaut, dass man ihn auch ohne Painting sinnvoll nutzen kann.
10:17:57 xq: Spätestens die Szene mit Licht und 3D ist einfach nur geil
10:20:06 joeydee: Muss jetzt halt alles gut skalierbar machen im sinne von Anzahl Ebenen, Anzahl Lichter, Anzahl Meshpunkte und -Dreiecke, und alles gut in der UI verwalten und zuweisen können.
10:21:40 xq: jo
10:21:44 xq: da sind schon viele knöpfe :D
10:22:38 joeydee: ja, aktuell lass ich einfach alles parallel anzeigen, und manche Zuweisungen sind noch hardgecodet. So bleibt das natürlich nicht.
10:22:55 joeydee: Mehr UI als Canvas im Moment :D
10:24:33 joeydee: Ich muss dann auch Dreiecksgruppen bestimmten Layer-Sichtbarkeiten zuordnen können, dann kann ich getrennte Elemente freistellen.Also "hinter dem Objekt geht der Boden weiter" z.B.
10:25:03 xq: jo, aber da helfen ja dann modale views
10:25:09 xq: wo man nur die buttons sieht, die grade vernünftig sind
10:25:10 xq: oder so
10:25:16 xq: aber: das ist ja nicht so wichtig
10:26:08 joeydee: ja, das ist nicht das Problem. Ich schalte ja aktuell auch schon auf Tabs in verschiedene Editoren mit verschiedenen Ansichten. Also UI ist generell für sowas ausgelegt.
10:26:59 xq: jo
10:27:02 xq: aber: impressive
10:27:07 xq: also, das tool sieht echt beeindruckend aus
10:27:23 joeydee: thx
11:25:04 xq: https://www.golem.de/news/softwarefehler-aktie-von-warren-buffett-laeuft-bei-32-bit-ueber-2105-156342.html
11:28:18 joeydee: LOL
11:29:06 joeydee: Keine Seuche und kein Asteroid lässt die Zivilisation zu Grunde gehen, sondern banale 32 Bit :D
11:29:24 joeydee: Fast besser als der Millenium-Bug
11:32:19 Essex20 joined the channel
11:32:32 Essex20: Hallo Internetrandgruppenteilnehmerdinosaurier
11:32:34 Essex20: :)
11:33:44 joeydee: Hallo Bit Nr. 33
11:34:12 joeydee: (Kontext-Komik)
11:34:19 xq: https://www.golem.de/news/softwarefehler-aktie-von-warren-buffett-laeuft-bei-32-bit-ueber-2105-156342.html
11:34:22 xq: ach verdammt :D
11:34:25 xq: hatte ich schon gepostet
11:34:41 Essex20: Willst du damit sagen ich bin fett?
11:34:45 joeydee: gottseidank nur eins, stell dir vor du hättest mehrere!
11:34:46 xq: joeydee: ich musste grade so hart lachen
11:35:39 joeydee: why?
11:36:21 xq: wegen dem overflow
11:36:27 xq: das ist so lächerlich
11:37:08 joeydee: jepp, und war vorhersehbar
13:00:45 IceMichael: verdammt, ich kann nicht arbeiten heut, zu muede
15:34:24 xq: guten abend
15:41:32 Hannes joined the channel
15:41:58 Hannes: hiho
15:42:46 Hannes: Essex du alter half-operator, bist auch da.
15:44:37 Hannes: hab mal ne 3d frage
15:45:09 Hannes: wozu braucht man die tangent vektoren im vertex?
15:47:09 xq: Hannes: üblicherweise normal mapping
15:49:06 Hannes: ich dachte da würde die normale im vertex und die normalen in einer normalmap reichen
15:49:27 xq: ne, deine normale hat ja eine ausrichtung
15:49:35 xq: wenn du am vertex dinge berechnest, die eine rotation haben
15:49:41 Hannes: ja
15:49:51 xq: also, rotiert auf der oberfläche
15:49:54 xq: dann brauchst du achsen dafür
15:50:25 xq: weil aus der normale kannst du nur einen einfallswinkel zur oberfläche ableiten
15:50:36 xq: aber nicht einen einfallswinkel "auf" der oberfläche
15:50:50 xq: anderer use case sind diese hübschen polierten aluflächen :D
15:52:16 Hannes: kann man die normmalen in der map nicht mit der worldviewmatrix multiplizieren?
15:52:48 Hannes: achso man will ja die nach dem face ausrichten
15:53:19 xq: jop
15:53:32 xq: du wirst für deinen effekt mit dem handpainted wahrscheinlich auch tangenten brauchen
15:56:00 Hannes: die modelle sollen recht grob sein, aber die 2d spriteobjekte sollen warscheinlich ne normalmap bekommen
15:59:35 Hannes: braucht man dann tangenten für kamera ausgerichtete quads?
16:00:02 Hannes: es gibt ja nur ein face
16:02:56 xq: wenn das quad steht, immer zur kamera ausgerichtet ist und nicht kippt? nope
16:03:02 xq: dann kannst du die im vertexhsader berechnen
18:23:16 Schrompf joined the channel
19:28:51 xq: huhu Schrompf o/
19:29:05 Schrompf: grüße. ich zocke
19:29:16 Hannes joined the channel
19:29:42 xq: wb Hannes
19:29:47 xq: ich sollte mal was zum essen warm machen
19:29:55 Hannes: ja solltest du
19:30:08 Schrompf: kann ich auch empfehlen
19:31:06 xq: > 6029 icons parsed successfully, of which 0 are not fully supported and of which 0 crashed.
19:31:09 xq: guter zeitpunkt *grins*
19:31:18 Schrompf: feinfein
19:31:33 xq: hab jetzt den pfad-parser neu gebaut
19:31:38 xq: nach spec statt von stackoverflow :D
19:31:48 Schrompf: der sogenannte pfarser
19:32:04 xq: genau der
19:32:12 xq: ich lass das ding jetzt mal aufm ganzen dataset laufen
19:38:57 Hannes: wusstet ihr, dass Tom Hanks seine Briefe mit T.Hanks unterschreiben kann?
19:39:51 xq: jap
19:39:52 xq: Thanks
19:40:01 Schrompf: würde ich auch, wenn ich könnte
19:40:13 xq: Thanks, T.Hanks
19:41:51 Hannes: Hab heute ein Glücksspiel gespielt
19:41:55 Hannes: Monopoly Junior
19:42:37 Schrompf: das anti-kapitalismus-spiel ist ein verkaufsschlager seit ~100 jahren
19:45:16 xq: 1.292969-0.179688 1.292969 0-1e-6 -1.322224
19:45:18 xq: ich …
19:45:20 xq: WTF
19:45:24 xq: WAS TUN DIE DA?!
19:45:44 Hannes: ich fieber immer mit, ob ich verliere oder gewinne. Dabei hat man nicht mehr Einfluss als in Mensch Ärger Dich Nicht
19:46:33 Hannes: siht aus wie dezimalzahlen
19:46:37 Hannes: e
19:46:39 Schrompf: jau, nach game design ist monopoly gar kein spiel, sondern ein automat, der von den spielern vorangetrieben wird. echte entscheidungen hast du genau eine: kaufe ich die straße, auf der ich stehe, oder nicht
19:47:02 xq: Hannes: SVG erlaubt eigentlich (nach offizieller spec) keine dezimalzahlen
19:47:06 xq: also 1.4 ist illegal
19:47:15 xq: das ignoriere ich, da sich die spec dort selbst widersprich
19:47:25 xq: was ich jetzt gefunden habe: -1e-6
19:47:28 xq: WAS RAUCHEN DIE
19:48:24 Hannes: in M. Junior hat man immer genug geld um zu kaufen. dass
19:49:02 Hannes: also ist das auch keine wirkliche entscheidung
19:49:20 Hannes: nagut es ist ab 5+
19:49:36 xq: Schrompf: jo, darum spielt auch kein Mensch monopoly nach regeln
19:49:46 xq: da wird dann bank, kredit, tauschhandel, schachern, wtf eingeführt :D
19:53:02 xq: das ist einer der gründe, warum ich nen binärformat habe
19:53:09 xq: es ist nicht unendlich mannigfaltig
21:50:24 Hannes: gleich kommt nen neuer screenshot
21:52:30 Hannes: https://i.imgur.com/Xsg6Bkr.png
21:53:51 Hannes: ich glaub so könnte es hübsch aussehen, wenn ich bessere rasterfolientexturen hinbekomme
22:03:26 xq: Hannes: probier mal, den effekt nicht im screen space zu machen
22:06:30 Hannes: hab ich schon ausprobiert
22:06:41 Hannes: sieht so aus der affenkopf: https://i.imgur.com/zekZamZ.png
22:09:06 Hannes: sieht ganz gut aus
22:15:09 xq: ich denk das sieht wesentlich cooler aus
22:15:15 xq: screenspace-effekte klappen nicht sonderlich gut
22:15:27 xq: was du aber noch probieren könntest, wären outlines im screenspace berechnen
22:27:10 xq: the good: https://mq32.de/public/8a4da32af5ef94161a1d3fb855fdc4b994986969.png
22:27:13 xq: the bad: https://mq32.de/public/1277e5ba018a5d7a3082346ce59e9693c66b8bd0.png
22:27:16 xq: the ugly: https://mq32.de/public/91897c8dd8054341318a52312d8c05065d015291.png
22:30:28 Hannes: icons
22:30:33 xq: jap
22:30:35 xq: konvertierte SVGs :)
22:31:17 Hannes: kommen die alle aus deinem tool?
22:33:56 Hannes: weil da immer 2 ähnliche nebeneinander sind
22:40:44 xq: links ist das orginal SVG
22:40:48 xq: rechts ist meine TVG
22:42:00 Hannes: ist bestimmt recht aufwendig alle details zu beachten
22:42:11 xq: Für SVG? Unmöglich
22:42:16 xq: Für TVG: sehr wohl möglich *grins*
22:43:05 Hannes: machst du TVG in zig?
22:45:41 xq: na klar :D
22:45:49 xq: aber: grundlegend gilt: es ist ein dateiformat und keine library
22:46:00 xq: darum ist das rendering auch nur so mittelgeil bis scheiße :rofl
22:47:06 xq: aber das sind halt dinge, die man lösen kann, wenn der rest des formats vernünftig gebaut ist
22:53:21 Hannes: machst du das rein aus interesse um es mal gemacht zu haben?
22:54:03 xq: ne
22:54:11 xq: ich möchte vektorgrafiken verwenden können
22:54:13 xq: und zwar vernünftig
22:54:20 xq: SVG ist vieles. aber vernünftig isses nicht
22:54:23 xq: unglaublich komplex
22:54:29 xq: drölftausend wege das selbe zu erreichen
22:54:50 xq: und du möchtest eigentlich in deinem programm keinen SVG-Renderer
22:55:44 xq: ich brauchte zudem für Dunstblick noch ein Vektor-Format, was sehr sehr klein ist
22:57:17 Hannes: ist interessant. kann man den renderer auch in c benutzen?
22:57:40 xq: noch nicht
22:57:45 xq: wird aber kein problem sein
22:58:08 xq: API wäre ± tvg_render(blob, blob_len, pixels, width, height)
23:03:15 xq: die lib würde dann wahrscheinlich sowohl ein software- als auch ein vulkan-basierter renderer