IRC Logs for #zfx


2021-10-26

05:03:26 Schrompf joined the channel
05:27:57 Hannes joined the channel
05:31:53 Hannes: Ahoi
05:35:00 Schrompf: ohhi
05:35:09 Magister joined the channel
05:35:15 Schrompf: glück und zufriedenheit deiner wege. und auch deiner, Magister
05:41:15 joeydee joined the channel
05:41:23 joeydee: moin
05:56:35 Schrompf: nagut, auch Deiner Wege Glück und Zufriedenheit.
05:59:26 Hannes: morgens früh um Acht, wird Kaffee gemacht
05:59:51 Schrompf: morgens um sieben war noch Kaffee von gestern geblieben
06:14:13 joeydee: morgens um sieben wär ich gern liegengeblieben.
06:19:59 Schrompf: morgens um sieben droht die frau mit hieben, und hat mich für's kind aus dem bett getrieben
06:20:22 Schrompf: morgens um sechs, ich dacht ich verrecks
06:21:55 Schrompf: morgens um fümpf, wie ein zombie, so stümpf
06:22:04 Schrompf: nagut, ich hör jetzt auf
06:23:45 xq: moin
06:32:47 Schrompf: grüße
06:36:37 joeydee: moin xq
06:42:09 Schrompf: ich hab gestern mit matschehirn noch am kürbisprojekt weitergebaut
06:42:27 Schrompf: hab quasi nix geschafft und mich nur mit dem keksklicker und shitposten abgelenkt
06:42:37 Schrompf: bis ich den mist mal ausgemacht habe, weil ich ins bett wollte
06:42:46 xq: und dann …
06:42:47 Schrompf: und plötzlich rollte es. talk about focus.
06:42:53 xq: jo
06:42:57 xq: ich freu mich jetzt aufs Wochenende
06:43:01 Schrompf: hab in ner halben stunde ein kleines partikelsystem hochgezogen
06:43:04 xq: wir fahren Donnerstag wieder nach Nordhausen
06:43:15 xq: also hab ich mehrere Stunden Ruhe und schlechtes internet ^^
06:43:15 Schrompf: was ist dort?
06:43:29 xq: Geburtstag von Familie der Freundin + Halloween
06:43:36 Schrompf: ahso, "der wahre gewinn ist die reise" und so
06:44:05 Schrompf: jau, dann viel spaß. und produktiven zwangs-fokus im zug wünsch ich dir auch
06:44:07 Hannes: Ich bin ein gebürtiger Doppelkorn
06:44:45 Schrompf: hast du getrunken, hannes?
06:45:36 Hannes: Ich wurde in Nordhausen geworfen und daher kommt auch der Doppelkorn aus der Werbung
06:46:10 Hannes: nur so als nebeninfo
06:46:25 xq: jo
06:46:30 xq: Nordhausen kann ganz guten Schnapps
06:46:33 xq: https://twitter.com/pncr1978/status/1452858027678314499/photo/1 LOL
06:46:39 Schrompf: ahso.
06:53:45 joeydee: LOL
07:14:05 xq: https://img.pr0gramm.com/2021/10/26/120c7617bf2f8967.jpg
07:14:07 xq: noch einer
07:32:18 joeydee: :D auch nicht schlecht
07:35:13 Schrompf: hihi, der ist hübsch
07:35:40 Schrompf: in die selbe kerbe schlägt "Britisches Wetter, britische Kochkunst, britische Frauen... eine Nation großer Seefahrer war geboren!"
08:28:30 xq: hehe
09:48:48 xq: smoothstep ist einfach toll
10:01:18 joeydee: überhaupt non-lineare Transitions :)
10:05:16 xq: true
10:39:27 joeydee: Habsch natürlich auch drin im Halloween-Game, für Screen-Fades und Cursor-Wobbling
10:48:46 Schrompf: wobble it!
10:48:51 Schrompf: freut mich, wie es bei dir vorwärts geht
10:53:31 joeydee: Das lief überraschend glatt diesmal
13:20:55 Hannes joined the channel
13:28:40 xq: eines tages gibt es zfx-logger-v4 *grins*
13:37:00 xq: was für Schrompf: https://twitter.com/Alex_Mc_Dougall/status/1336642108057333760
15:03:31 joggel joined the channel
15:03:36 joggel: hi
15:06:06 joggel: weiß jemand was ein "direction field of a surface mesh" ist?
15:07:53 xq: huhu joggel
15:08:00 xq: kein plan, was das sein soll
15:08:24 xq: geraten wäre es sowas wie ein distance field, nur zeigt es immer auf die nächstbeste oberfläche
15:10:11 joggel: ah, okay. Bin nämlich auf diese Lib hier gestoßen
15:10:17 joggel: http://geometry-central.net/tutorials/direction_fields/
15:10:27 joggel: sieht lecker und für mich brauchbar aus
15:10:45 joggel: und da war eben ein Tutorial dieses "distance field"
15:11:13 xq: distance field ist klar
15:11:16 xq: aber was ist ein direction field?
15:11:34 joggel: quatsch. Meinte ja Direction Field
15:12:24 joggel: wusste ich eben auch nicht. dachte hier weiß das jemand
15:22:13 xq: wieder da
15:24:47 joggel: yay
16:56:37 xq: und joggel, was treibst du so?
16:59:15 joggel: sitz mal wieder an meinem Programm...
17:02:21 xq: ich sitz am resource management
17:04:57 joggel: tust du das wirklich?! Oder zockst du wieder :P
17:05:16 xq: ja, tu ich
17:05:18 xq: und denke nach
17:05:23 xq: verfluchtes android
17:06:07 joggel: autsch! android
17:06:58 joggel: ich stieß letztens über das: https://www.qlone.pro/
17:07:25 joggel: gibts sowas nur für apple? Weil ich würde das ne geile spielerei für mein Handy finden
17:07:26 xq: what's that?
17:07:35 joggel: HandyCam => 3DModel
17:07:39 xq: ah
17:07:42 xq: Photogrammetrie
17:07:51 xq: und nein, ich sehe links zu playstore und app store
17:08:00 joggel: Habe mir ja sogar ne Cam mit Tiefenkamera besorgt, weil ich auch mal damit spielen wollte
17:08:14 joggel: Weiß nicht genau ob das über Ptotogrammetrie läuft
17:08:28 xq: ja, so nennt sich das
17:08:32 joggel: ich weiß
17:08:35 xq: wenn du bilder machst und 3D-Objkte erzeugst :D4
17:08:43 joggel: kann auch sein, dass es über PointClouds geht
17:08:48 xq: same difference ;)
17:08:52 joggel: Also nicht *nur* über Photogrammetrie
17:09:01 joggel: aber... don't know
17:09:02 xq: Photogrammetrie ist der Überbegriff
17:09:11 xq: Man kann Photogrammetrie mit Point Clouds realisieren
17:09:27 joggel: achso. Ich dachte Photogrammetrie ist nur die rekonstruktion aus zueinander referenzierten Fotos
17:09:44 joggel: okay... verstehe
17:09:48 joggel: ja, macht sinn
17:10:24 xq: ja, aber point clouds sind ein ergebnis davon
17:10:33 joggel: ja, stimmt...
17:10:34 xq: point clouds <=> voxel <=> polygone
17:10:47 joggel: ist näheliegend
17:10:56 joggel: *naheliegend
17:10:59 xq: joggel, wie läufts bei dir?
17:11:07 joggel: mit meinem Programm?
17:11:47 xq: jo
17:11:52 xq: also, was gibts neues?
17:12:10 joggel: Programm: bin leider viel zu langsam. Das ärgert mich schon etwas. Weil ich garantiert schon weiter wäre, würde ich konsequent was machen
17:12:30 joggel: Im Moment setze ich gerade um: Face-, Edge und Vertex-Transformation um
17:12:34 xq: wie gehts du denn vor?
17:12:51 joggel: uff
17:12:59 xq: *gehst
17:13:26 joggel: im Groben: Ich habe verschiede InteraktionsModi (Model-Transformation, Face, Edge und Vertex-Transformation).
17:13:59 joggel: in den unterschiedlichen Modi wird dann eben unterschiedlich auf Maueingabe reagiert und gerendert
17:14:05 joggel: so im Groben
17:14:08 joggel: wenn du das meinst
17:14:13 xq: eher deine arbeitsweise
17:14:38 joggel: Ich habe eine Text-Datei, dort schreibe ich alles rein was ich so brauche und umsetzen will
17:14:48 joggel: und dann arbeite ich das ab
17:15:00 joggel: wenn ich Bock habe xD
17:15:25 joggel: aber sinnvoll wären auch mal milestones. Das ich mir eine Frist setze bis wann ich fertig bin
17:15:39 joggel: bis wann ich ein Feature umgesetzt haben soll
17:15:51 joggel: achso: und leider schreibe ich auch keine Tests
17:16:37 joggel: Das hatte ich von anfang an ja vor, aber habs bisher immer auf die lange bank geschoben... und bis jetzt habe ich da eben nix getestet; was ich, ehrlich gesagt, etwas bedenklich finde
17:16:53 joggel: weil langsam wirds etwas komplex
17:16:55 xq: naja, du machst ja relativ viel UI, oder?
17:17:01 joggel: ja
17:17:06 joggel: schon
17:17:28 joggel: afk
17:17:35 xq: aber wir reden schon von deinem nodebasiertem Editor, oder?
17:21:41 joggel: ja
17:21:49 joggel: also ich rede davon
17:21:52 joggel: :D
17:22:50 joggel: ich weiß jetzt auch garnicht wie ich dir das beantworten soll, wie genau ich da vorgehe
17:23:17 xq: weil ich merke, dass ich in letzter zeit sehr viel länger nachdenke als code
17:23:19 joggel: Nur eben, dass ich das über Model-View-Controller mache..
17:24:12 joggel: ja, ich ändere immer sehr viel. Also Design ist bei mir auch ziemlicher Schwerpunkt um das alles irgendwie sauber zu halten
17:24:34 xq: hm, interesting
17:25:04 joggel: ja... weil mir "unterwegs" irgend was einfällt, was ich am Anfang nicht bedacht habe...
17:25:11 xq: wie genau sieht MVC da aus?
17:27:10 joggel: Naja, meine Widgets, die attribute des Meshes anzeigen oder über die interagiert wird, erben eben von meiner ViewBase-Klasse. Diese registriert sich bei einem Controller. Sollte sich irgend etwas ändern, wird der Controller benachrichtigt, und dewr benachrichtigt alle anderen Views, die bei ihm reagiert sind.
17:28:04 joggel: Die Daten haben zusätzlich noch ein Dirty-Flag. Wenn die Views ihre Daten abfragen, checken sie dieses Dirty-Flag (soll heißen, haben sich daten verändert? Wenn ja, neu renedern)
17:28:28 joggel: Meine zu rendernden Meshes erben auch von dem View und registrieren sich beim Controller
17:29:08 joggel: so im Groben
17:29:16 joggel: finde ich eine feine Sache
17:29:28 joggel: aber irgendwie.... ich finde es noch nicht ganz so sauber
17:30:08 joggel: Achso. und die Daten (Meshes) befinden sich im NodeTree. Die Views halten nur einen Zeiger darauf
17:31:42 joggel: "Meine zu rendernden Meshes erben auch von dem View und registrieren sich beim Controller" Also die heißen bei mir "MeshRenderer"...
17:31:50 xq: Meine zu rendernden Meshes erben auch von dem View und registrieren sich beim Controller
17:31:53 xq: das klingt wunderlich
17:32:04 joggel: mmhh
17:32:13 xq: oder meinst du einen Viewport/Renderer?
17:32:23 joggel: genau. den Renderer
17:32:32 joggel: Früher wars mein QOpenGLWidget
17:32:38 xq: und nu?
17:33:30 joggel: ist jetzt auch nocht. Aber ich ändere das um, das jeder Mesh über einen eigenen MeshRenderer gerendert wird. Dieser ist ein View und hält nur die Referenz zum Mesh; der sich ja im Nodetree befindet
17:35:42 xq: hö?
17:35:49 xq: du machst jetzt ein widget per mesh?
17:39:07 joggel: ich rede über die 3D-Darstellung. Es gibt ein QOpenGLWidget. Dieses Widget hält dann eben so viel MeshRenderer wie es OutputNodes (im NodeTree) gibt. Und ein Meshrenderer ist dann eben EIN View auf EINEN OutputNode aus dem NodeTree
17:40:12 xq: hm
17:40:19 xq: und was spricht gegen "Ein View auf den NodeTree"?
17:40:34 joggel: eigentlich nix
17:40:36 joggel: Aber
17:42:34 joggel: mh.. warte
17:43:56 joggel: ja, eigentlich nix. Vlt overdesigne ich das nur, wenn ich jeden Meshrenderer als View mache...
17:44:13 joggel: ich überlege noch mal :D
17:45:38 joggel: Ich brauche schon für jeden OutputNode einen View! Fakt!
17:46:40 xq: warum?
17:46:49 xq: ach ne, warte. soweit korrekt
17:46:55 xq: OutputNode ist ein Rendering?
17:46:59 xq: oder was gibt die aus?
17:47:51 joggel: genau. Rendering und wenn ich so einen OutputNode anklicke, erscheint ein Widget über das ich auch manipulieren kann
17:48:01 xq: hm
17:48:22 xq: kannst du mir mal nen screenshit schocken?
17:48:27 joggel: jo
17:49:31 joggel: https://ibb.co/wdrgxfM
17:50:04 xq: kannst du mir mal erklären, was ich da alles sehe?
17:50:21 joggel: du siehst 2 InputNodes. Über die lade ich OBJ-Modelle
17:50:41 joggel: dann siehst du 2 OutputNodes die gleichzeitig gerendert werden
17:51:56 joggel: der eine OutputNode ist ausgewählt ==> Widget rechts hält die TransformationsInformation dieses Nodes. Und unten siehst du das gerenderte Modell. und weil der Node ausgewählt ist noch ein Gizmo dazu
17:53:20 joggel: Und im Widget rechts ist "Rotation" ausgewählt, deshalb ist das auch ein RotationsGizmo :P
17:55:29 xq: wie stellst du dir das jetzt vor, wenn du auf Face, Edge, Vertex umschaltest?
17:55:32 xq: also, was passiert dann?
17:56:24 joggel: Dann sehe ich bei dem ausgewählten Mesh die Faces, Edges oder Vertices. Die kann ich dann im 3D-View anfassen und per Gizmo bewegen
17:57:15 joggel: oder auch per Widget rechts
17:57:30 joggel: also über SpinBox und so
17:57:44 xq: okay, wie speicherst du das?
17:57:54 xq: weil du erzeugst ja irgendwie generativ 3D-Modelle, oder?
17:57:58 joggel: lol
17:58:04 xq: hm?
17:58:12 joggel: also du meinst speichern wie "Save as.."?
17:58:17 xq: (und speichern meint "im RAM" nicht "auf Disk")
17:58:24 joggel: achso
17:58:31 joggel: na ich verändere den OriginalMesh
17:59:00 xq: welchen in dem fall?
17:59:08 joggel: also die Daten die der konkrete OutputNode hält
17:59:21 joggel: Daten == der konkrete Mesh
17:59:25 xq: und was passiert, wenn ich den input der node verändere?
17:59:36 joggel: dann wird der Tree aktualisiert
17:59:48 joggel: jedes Node wird durchlaufen und Views aktualisieren sich
18:00:19 xq: okay
18:00:23 xq: und was passiert mit meinem edit?
18:00:31 xq: ist der einfach weg?
18:02:38 joggel: Das Widget ist NIEMALS aktiv/existiert, wenn ich das InputModel ändere. Ich muss dazu das InputNode anklicken => rechtes Widget verschwindet und es wird ein neues generiert über das ich ein Modell auswähle. Gehe ich dann wieder auf den OutputNode zurück, wird eun neues Widget erstellt was mit den Daten des aktuallisierten Nodes gefüttert wird
18:02:56 xq: davon red ich nicht
18:03:00 joggel: ok
18:03:04 xq: du willst ja modelle editieren, right?
18:03:10 joggel: ja
18:03:22 xq: also sowas wie "ich lade ein obj, extrudiere alle vertizes, tesseliere diese und appliziere noise"
18:03:24 xq: richtig?
18:03:36 joggel: sowas in der art^^
18:03:41 xq: so
18:04:07 xq: jetzt editiere ich die vertices in der output node, right?
18:04:13 joggel: righty
18:04:29 joggel: was dann mit dem Inhalt des Widgets wird?
18:04:32 xq: und dann klick ich auf die "extrude" node und reduziere die extrustion
18:04:39 xq: nein, was mit meinem modell passiert
18:04:45 xq: verwirfst du dann alles?
18:04:49 xq: oder wie sieht das dann aus?
18:05:52 joggel: naaa... ich ändere den akuellen Node-Inhalt.
18:05:55 joggel: ganz einfach
18:06:06 xq: hö?
18:06:15 xq: ich glaub, du denkst grade zu sehr in implementierung
18:06:20 joggel: vlt
18:06:21 xq: ich denke grade nur abstrakt in logik
18:06:29 joggel: achsooo
18:06:35 joggel: ich glaube ich verstehe:
18:06:54 joggel: Jedes Node erhält eine Kopie des verherigen Node-Inhaltes
18:06:59 xq: ja
18:07:02 xq: das habe ich angenommen
18:07:04 xq: darum frage ich
18:07:06 joggel: genau
18:07:19 xq: so
18:07:31 xq: und jetzt verändere ich eine node in der chain
18:07:39 joggel: ja
18:07:42 xq: was passiert?
18:08:09 joggel: alle folgenden Nodes werden aktualisert mit der Veränderung
18:08:19 xq: so
18:08:23 xq: und jetzt denk mal nach, was passiert ;)
18:09:14 joggel: hä? Na das was ich eben will: eine Veränderung aller darauffolgenden. Rednering etc.
18:09:19 xq: genau
18:09:27 xq: und was ist mit meinem mesh edit?
18:09:42 joggel: ah... dämn
18:09:45 xq: you see?
18:09:50 joggel: yesh
18:09:53 joggel: ok
18:10:37 joggel: bei der ModelTransformation ist das kein sonderliches Problem. Das gehscieht ja nur über 1 Matrix
18:10:57 joggel: aber bei Face, Edge und Vertex ergibt das ein Problem
18:11:03 xq: exakt
18:11:12 joggel: verdammt
18:11:15 xq: mach dir darüber mal gedanken, was du da überhaupt haben willst
18:11:22 xq: (und NICHT, wie du das jetzt löst)
18:11:31 joggel: du hast da leider recht
18:12:29 joggel: ich glaube, dass ich dann sowas wie Face, Edge und Vertex NICHT über einen Node realisiere .. sondern über so etwas wie eine "globalen Modifkiation"
18:12:58 xq: nope, das wird auch nix
18:13:06 joggel: stimmt auch wieder
18:13:11 xq: weil
18:13:16 joggel: sind bei der nächsten änderung wieder futsch
18:13:19 xq: dreh mal am tesselieren
18:13:26 joggel: jaja
18:13:28 xq: du kannst nicht mal wirklich deltas speichern
18:13:43 joggel: ich weiß. das habe ich mir auch schon überlegt
18:14:17 joggel: also das diese Vertex, Edge-Änderung ja garnicht so einfach abspeicherbar (auf HD) ist
18:14:56 xq: das ist nicht das problem
18:15:00 xq: das ist nachher trivial zu lösen
18:15:16 joggel: naja... durch ne Liste von Änderungen vlt
18:15:26 joggel: egal
18:15:37 xq: aber was nicht trivial ist, welche struktur du überhaupt im RAM hältst
18:16:43 xq: oder *was* du überhaupt speicherst
18:16:51 xq: weil ich hab keine ahnung, was du *haben* willst ;)
18:18:24 joggel: ich hatte eigentlich vor ne Kette von CSG-Operationen zu haben und dann noch zusätzlich diese Meshes auf Faces/... zu verändern
18:18:36 joggel: aber... moment
18:19:09 joggel: ich muss da noch mal nachdenken
18:19:55 joggel: na juuut
18:20:15 joggel: ich bin erstmal raus für heute. es ist >20:15... TV und so
18:20:18 joggel: cee ya
18:20:46 xq: ^^
18:20:52 xq: lustig, dass du sowas fest einplanst
18:20:58 joggel: ja
18:21:06 joggel: ist so mein Ritual
18:21:17 joggel: proggen bis 20:15
18:21:27 joggel: zu spät habe ich dann einschlafprobleme :P
18:21:33 joggel: also bis denn
18:21:40 xq: tschööö
18:42:29 Hannes joined the channel
18:42:50 Hannes: hi-ho
18:44:35 xq: huhu Hannes
19:04:12 joeydee: hey Hannes
19:17:59 Hannes: huhu xq
19:18:03 Hannes: hey joeydee
19:58:18 xq: aaaargh
19:58:22 xq: das ist alles unnötig schwer :D
19:59:08 xq: ich muss wohl noch ein größeres konzept in zero-graphics fixen