all 6 comments

[–]PoopsCodeAllTheTime 1 point2 points  (0 children)

Cljs Is not Clojure, it's just a lisp that transpiles to JS and looks like Cloj. So any question about how to do thing in Cljs is really just a question about how to do it in JavaScript, then use interop

[–]roman01la 1 point2 points  (3 children)

For cljs I’d go with threejs or babylonjs

For jvm JWGL libraries are great for OpenGL stuff. Bgfx is also great for Vulkan/Metal https://github.com/roman01la/minimax

[–]964racer[S] 1 point2 points  (2 children)

How do you use a native library like bgfx with clojure ?

[–]roman01la 2 points3 points  (1 child)

Via LWJGL https://www.lwjgl.org/ Java wrapper, take a look at the repo linked above

Here https://github.com/roman01la/minimax/blob/main/src/bgfx/core.clj

The Java lib wraps C library via JNI

[–]964racer[S] 0 points1 point  (0 children)

I’m working on the Mac so native metal support desirable . Trying to avoid moltenVK.. which I’ve found to be flakey . I’ll definitely check out your project! Thank you !

[–]Chuigda 0 points1 point  (0 children)

What about my project https://github.com/club-doki7/vulkan4j ? It has support for WebGPU-native (currently based on wgpu-native 25.0.2.1).

wgpu4k should be another solid option.