IRC Logs for #zfx


2021-04-06

05:57:00 IceMichael: moin!
07:44:33 xq: huhu
08:29:35 IceMichael: na, was geht? Frohe Ostern gehabt?
08:29:54 xq: geht so
08:30:00 xq: also, war ein schöner familienbesuch
08:30:04 xq: aber dauerrotz weil allergie
08:30:10 xq: und freundin ist auch krank
08:58:37 joeydee joined the channel
08:58:43 joeydee: moin
08:59:18 Schrompf joined the channel
09:00:19 xq: heya joeydee, heya Schrompf
09:00:28 joeydee: heya xq
09:00:38 joeydee: heya Schrompf
09:00:46 joeydee: heya alle anderen die mitlesen
09:01:43 Schrompf: heya schrompf, schlumpf, strumpf und sumpf.
09:02:54 xq: 321 /home/felix/Downloads/menu.png
09:02:54 xq: 341 /home/felix/Downloads/menu.svg
09:03:02 xq: benutzt vektorgrafiken sagten sie. sie sind sehr klein :D
09:03:24 Schrompf: wenn du die monochrom auf 16x16 ausrenderst, gilt das nicht mehr :-)
09:04:01 xq: sind 48x48, aber ja :D
09:16:46 IceMichael: hi nochmal @ all
09:17:07 IceMichael: pngs sind halt auch echt gute Viecher
09:34:20 joeydee: Schrompf, ich hoffe du konntest deine Vorstellung von Bezier (zu kompliziert) ein wenig korrigieren.
09:38:14 Schrompf: ja, tatsache. ich krieg's noch nicht in den 3d-raum transferiert, aber das klappt schon
09:38:27 Schrompf: interpolate? MORE! MORE!!!!
09:44:56 joeydee: auf ein 3D-Patch hab ichs auch noch nicht angewendet, aber müsste korrespondierend zur "flachen" Quad-Subdiv über tu,tv gehen, da unterteilt man ja auch immer nur Strecken.
09:45:32 joeydee: Tangenten hast du dann in 2 Richtungen je Vertex, u und v im Tangent-Space.
09:47:18 Schrompf: auf der englischen wikipedia-seite gibt's ne formel. nur weiß ich nicht, was rauskommen soll, wenn man punkte miteinander multipliziert oderr quadriert
09:49:35 joeydee: Hmja, das sind meist die reduzierten zusammengefassten Formeln. Bezier ist ja nur Linear verschachtelt, aber dadurch hast du am Ende ja auch t³, ohne dass das einen direkten Sinn hätte.
09:50:15 joeydee: Zum Verstehen würd ich wirklich mal auf verschachtelte Lerps runterbrechen.
09:50:21 Schrompf: die komplexität sehe ich ein. mir geht's darum, dass eine formel a²*b für mich keine mathematische operation ergibt, wenn a und b 3d-vektoren sind
09:52:38 joeydee: t³ hat auch keine anschauliche Bedeutung mehr. Ich denke mal, a*a*b passiert einfach irgendwo beim Klammer auflösen, habs mir aber nicht angesehen. Auseinandergfrickelt macht das sicher irgendwo auch geometrischen Sinn.
10:20:18 Schrompf: ne weeste was? das sind einfach mathedeppen, die mal wieder sinnlos mythisch ihren mist aufgeschrieben haben
10:20:20 Schrompf: https://en.wikipedia.org/wiki/Bézier_triangle
10:20:42 Schrompf: beta³ ist kein punkt beta und mit sich selbst multipliziert
10:20:46 Schrompf: das ist einfach ein eigenname
10:20:54 Schrompf: verdammte kryptische idioten
10:21:20 Schrompf: und die wikipedia ist VOLL von diesem nutzlosen irreführenden schmarrn. die deutsche noch viel schlimmer als die englische
10:29:35 joeydee: ja, für mich hat so eingefleischter Mathe-Kram auch nie einen Mehrwert gebracht, auch wenn ich die Symbole theoretisch verstehe. Aber eine Schleife finde ich nunmal anschaulicher als ein Summenzeichen mit x Notationen oben, unten und seitlich, z.B. :)
10:30:40 joeydee: Da mich das mit den Patches auch irgendwie interessiert, ich hab mal die Wiki-Grafik übermalt, wie ich ansetzen würde.
10:30:40 joeydee: https://www.phoximages.de/uploads/2021/04/i68270bbcwrq.jpg
10:31:25 joeydee: Erstmal nur die Kanten betrachten. Das sind 2D-Beziers im Tangent-Space in eine Richtung, u bzw. v. Beispielhaft vordere Kante orange.
10:31:39 joeydee: https://www.phoximages.de/uploads/2021/04/i68271bsolvr.jpg
10:33:01 joeydee: Dann z.B. linke und rechte Kante nehmen und übers Quad interpolieren, weiß aber nicht wie man am besten an die neuen Tangenten kommt, ob Slerp hier reicht oder ob das Unfälle gibt und man immer neu Normale und alles rekonstruieren muss.
10:40:32 Schrompf: mit dem dreieck ist das ein bisschen einfacher, glaube ich
10:40:52 Schrompf: da gibt's nur die baryzentrischen koordinaten immer und immer wieder
10:42:01 Schrompf: ich überlege, wie ich die kontrollpunkte generiere. die an den ecken sind ja simpel. aber der in der mitte macht mir sorgen
10:42:09 Schrompf: ich rede z.b. von dem hier: https://blog.demofox.org/2019/12/07/bezier-triangles/
10:42:10 joeydee: baryzentrisch + Interpolation = crap, üblicherweise, denk an Texturen.
10:42:57 Schrompf: hä?
10:43:33 Schrompf: außerdem gibt's da bei mir keinen spielraum. dreiecke it is, keine andere option
10:43:44 Schrompf: erstmal mittag, moment
10:43:45 joeydee: Ein Trapez aus 2 Dreiecken mit UV-Koordinaten von 0-1 an den Kanten geht halt optisch nicht auf.
10:44:01 Schrompf: ja, trapeze sind hässlich
10:44:37 joeydee: Und da Subdiv verwandt mit Texturkoordinaten ist ...
10:55:45 joeydee: (war nur Bauchgefühl, gib nix drauf)
11:19:23 joeydee: Ich LIEBE es wenn meine Posts nicht komplett gelesen werden und dann die Diskussion darum geht was eigentlich längst erklärt war ^^
11:31:22 Schrompf: und ich HASSE es, wenn Zudo noch einen Beitrag drunterklatscht, in dem nichts Verwertbares zum Thema steht, aber noch ein bisschen mehr Eigenwerbung. Was für eine penetrante selbstverliebte Pfeiffe
11:35:34 joeydee: Alexander versteht nicht, dass das Problem an sich die Freiheitsgrade vorgibt. Das ist kein Problem des Algos.
11:39:05 Schrompf: seine posts überfliege ich immer nur. nach meinem vorurteil ist der mann jemand, der in nem wikipedia-artikel theoretische details der herleitung ankreidet, obwohl der text insgesamt ein nutzloses gelaber ist
11:40:43 joeydee: An Vektorprobleme mit einem Polynom rangehen zu wollen und behaupten, dass Tangenten und Normalen im Prinzip dasselbe sind, sagt viel ...
11:40:58 joeydee: Naja, jeder hat seine Stärken und Schwächen
12:29:41 xq: Schrompf, joeydee: passend zum thema
12:30:00 xq: wie würdet ihr einen geschwungenen bezier-pfad zeichnen?
12:30:06 xq: bzw. generell einen spline?
12:30:21 xq: sagen wir, ich hab 3 kontrollpunkte und möchte den spline auf beliebiger auflösung pixelperfekt zeichnen
12:30:29 xq: lösung a wäre einfach "oversampling des todes"
13:01:27 Schrompf: ich verstehe die frage nicht
13:02:15 Schrompf: "pixelperfekt" heißt ja eigentlich, dass du ne sampling-rate vorgegeben hast.
13:08:33 joeydee: Was *ich* machen würde: Linienstücke in Pixelnscale anpeilen (3px Länge, z.B., oder sogar größer). Gleichmäßige Abstände kann man i.d.R. nicht vorgeben. Eine Linie über 3 Pixel hat sicher genauso viele Fehler wie ein pixelexakter Spline an dieser Stelle.
13:08:57 joeydee: Ansonsten: schauen was ein Raytracer damit macht. Der will ja auch pixelgenau sein.
13:13:51 joeydee: Ich denke aber, üblicherweise wird einfach die Scan-Position in t übersetzt. Vielleicht auf 2 Passes, damit ma weiß wo der Spline an dieser Stele landet und wie gespreizt die Umgebung ist. So grob als Ideen-Ansatz.
13:20:03 Schrompf: bilineare suche des punktes auf der strecke geht nicht so einfach, fällt mir beim tippen auf
13:20:20 Schrompf: das geht nur für kurven, die nicht allzu weit von der basisstrecke abweichen
13:21:02 joeydee: ja, gleichmäßige Abstände auf dem Spline kann man nicht vorgeben.
13:21:36 Schrompf: aber da man bezierkurven angeblich stressfrei unterteilen kann, wär das ne option. halbieren, bis die teilstrecken nahe linear sind, dann jedes segment in 1px große teilstücke aufteilen.
13:22:06 Schrompf: und die kannste dann mit abstandsfunktion rastern für maximale antialiasing-schönheit oder plump mit der GPU als linien rausfeuern
13:22:42 joeydee: Wenn man 2 Passes macht, kann man beim Low-Pass die Streckenteile abschätzen und beim 2. Pass den t-step entsprechend anpassen.
13:24:03 Schrompf: genau. auf verdacht achteln oder so, abstand der mitte jedes teilstücks zur mitte der gerade durch die endpunkte bestimmen, bei mehr als 30% abweichung von der gerade weiter unterteilen oder so
13:24:55 Schrompf: *theoretisch* kannst das ja komplett ausformeln und kriegst zwei polynome dritten grades. die abzuleiten ist ne übung für praktikanten. und die ableitung gibt dir die geschwindigkeit an jeder stelle
13:25:19 Schrompf: (also jetzt szenario "kurve in 2D")
13:26:20 Schrompf: und die geschwindigkeit ist doch ein guter maßstab, wie rasch es die kurve an der stelle "vorwärts treibt". step also durch diesen wert und glücklich sein
13:28:19 joeydee: Einfach nen step für t gehen der für Linie passen würde und den Abstand neuer/alter Punkt vergleichen. Wenn zu groß, t-step verkleinern bis es passt. Intervallgeschachtelt oder heuristisch.
13:28:57 Schrompf: ja, so nen adaptiven schritt könnte man auch machen. ist zwar ein bissl wischiwaschi für was, was man eigentlich analytisch lösen könnte, aber nagut
13:29:55 joeydee: Wäre quasi ne iterative Suche nach dem Punkt, auf dem Spline, der x Einheiten vom aktuellen entfernt liegt.
14:25:35 Schrompf: WEIL ICH EIN IDIOT BIN
14:26:03 Schrompf: diese durchsage wurde ihnen präsentiert von "Erkenntnis". Erkenntnis! Fortschritt durch Wissen.
14:40:00 Schrompf: http://www.splitterwelten.info/privat/dungeon_subdivide_nachher.png
14:40:16 Schrompf: hat genauso fiese schwächen hier und da, aber jetzt ist wirklich erstmal gut
15:07:52 Schrompf: http://www.splitterwelten.info/privat/dungeon_subdivide_echtjetzt.png
15:08:07 Schrompf: das ist jetzt wirklich die letzte version, jetzt auf zum noisen
15:59:46 xq: Schrompf: sehr goi
15:59:48 xq: *goil
16:00:10 Schrompf: danke.
16:00:13 xq: gefällt!
16:00:16 Schrompf: bin jetzt schon beim nächsten problem :-)
16:00:45 xq: jetzt noch n bisschen mehr details und du machst schwuppdiwupp grimrock konkurrenz!
16:01:50 Schrompf: so war der plan :-) haste im forum schon den simplex-noise-screenshot gesehen?
16:02:06 Schrompf: das regelmäßige muster regt mich auf. irgendwas muss dagegen machbar sein
16:02:54 xq: was spricht gegen FBM?
16:04:08 Schrompf: was ist das?
16:04:15 xq: fractal brownian motion
16:04:16 Schrompf: Full Body Management?
16:04:24 Schrompf: nie gehört. ich googel mal
16:04:38 xq: https://www.iquilezles.org/www/articles/fbm/fbm.htm
16:05:39 xq: https://www.shadertoy.com/view/XstcRS
16:06:26 xq: FBM gibt relativ geile noisewerte
16:06:33 xq: afaik sogar kontinuierlich
16:13:55 Schrompf: das ist doch perlin oder simplex oder wasweißich-noise: ne basisfunktion in mehreren oktaven aufsummieren
16:14:23 Schrompf: ich sehe hier gerade ehrlich nicht den unterschied zu banalem simplex noise.
16:17:19 Schrompf: naja, erstmal familie
17:08:31 Schrompf: was ich so lese, ist fbm exakt das, was ich eh schon tue
17:09:08 Schrompf: und ich hab einfach die ganze zeit perlin noise und simplex noise (die art, zufallswerte zu erzeugen) mit der technik (oktaven aufeinanderstapeln) verwechselt
18:03:22 joeydee: Schrompf, Glückwunsch zum Fortschritt, aber an den Kanten sieht es (ohne Noise) trotzdem noch nicht so ganz kontinuierlich aus?
18:03:54 Schrompf: auf welches bild beziehst du dich?
18:04:24 joeydee: http://www.splitterwelten.info/privat/dungeon_subdivide_echtjetzt.png (bzw. "nachher" im Forum)
18:05:24 Schrompf: ahja. und da welche ecke? du meinst nicht die textur-randsampling-artefakte, oder?
18:06:43 joeydee: Diese sichtbaren Diagonale, müssen die so?
18:06:49 joeydee: +n
18:06:53 Schrompf: es gibt leider normalen-sprünge an den flächenkanten. das ist ja dann die erte ableitung, das wird sehr schwierig, das rauszukriegen
18:07:03 Schrompf: *erste
18:11:25 joeydee: Mittlere Säule im Bild, das sieht so aus als wäre der untere 2m-Würfel aus 2 Dreiecken, aber deren Normalen an der teilenden Kante scheinen in komplett verschiedene Richtungen zu laufen.
18:16:57 joeydee: Ich müsste es echt mal selbst auf Patches umsetzen und schauen was da so passiert. Irgendwann ...
18:52:41 Schrompf: ich seh's, aber ich hab keine ahnung, wie ich das wegkriegen soll. *eigentlich* müsste man kontinuierliche normalen an der kante hinkriegen, wenn man nur den mittlersten stützpunkt korrekt setzt. aber hm... wer weiß