This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-11-04
Channels
- # announcements (7)
- # aws (5)
- # babashka (72)
- # beginners (43)
- # calva (12)
- # cider (9)
- # clara (3)
- # clj-kondo (12)
- # cljdoc (32)
- # cljs-dev (10)
- # cljsrn (1)
- # clojure (78)
- # clojure-dev (50)
- # clojure-europe (17)
- # clojure-gamedev (8)
- # clojure-nl (1)
- # clojure-spec (30)
- # clojure-uk (3)
- # clojurescript (52)
- # core-async (1)
- # cursive (5)
- # datomic (8)
- # emacs (58)
- # events (2)
- # fulcro (5)
- # graalvm (7)
- # holy-lambda (37)
- # honeysql (9)
- # jobs (5)
- # leiningen (3)
- # lsp (7)
- # lumo (2)
- # malli (3)
- # meander (13)
- # membrane-term (64)
- # missionary (19)
- # music (3)
- # nextjournal (8)
- # off-topic (29)
- # pathom (16)
- # polylith (14)
- # portal (16)
- # re-frame (2)
- # reagent (5)
- # sci (14)
- # shadow-cljs (20)
- # spacemacs (6)
- # sql (1)
- # tools-deps (58)
- # vim (14)
@tylertracey09 you might find this reference code useful. I used Three.js directly from ClojureScript without any kind of wrapper or what have you. https://infinitelives.github.io/px3d/ https://github.com/infinitelives/px3d
threagent looks great thanks for sharing!
Yeah this is awesome! I dig the rendering style, definitely interesting in diving into the code
I saw a few examples of raw Three.js stuff and the imperative statefulness of it seemed a bit overwhelming.
Yeah it's hard to work with. I would much prefer a declarative approach.
Gotcha, yeah I think react-three-fiber/threeagent are a good approach for that kind of thing.
I will say I've done a bit of vanilla js stuff with react-three-fiber, and I found the actual library to be a bit messy. It gets the job done but it is essentially a react concretion where the three.js primitives are generated into react components. It's definitely cool, but I think there's a better approach. Threeagent in general is probably a good start. My current issue with it is that if a threeagent component is rendered by a reagent component, hiccup gets pretty confused and tries to interpret the threeagent primitives as HTML.
I saw that Three can take a JSON definition of a full scene - something I wanted to test was using this to update the scene dynamically. Probably be slow though.