Three.kt - A Three.js port for the JVM

This might be somewhat premature, but I wanted to share with you my work on a Three.js port for the JVM.

The basics works, so the work forward is about adding more features. That is, the core engine has been ported successfully from JS/WebGL to Kotlin/JVM/OpenGL.

This will be a light weight, easy to use alternative to the other 3D alternatives for the JVM.

Thanks for your attention!


Good luck for your project. The Javascript source code of Three.js lacks of comments, its Typescript source code is a little bit better commented. The stability of its features isn’t homogeneous, some loaders are a bit clunky, for example its Collada loader. I’m sure that some existing Java frameworks and engines have more reliable loaders for STL and OBJ. I hope that you’ll succeed in supporting much more formats because Wavefront OBJ is very rudimentary whereas Three.js is known to support GLTF which is a lot more capable.


In my experience it’s better to go from the JavaScript source as the Typescript definitions tends to have some errors. Anyway, since Javascript and Kotlin are syntactically pretty similar, you get pretty far by just copy pasting the JavaScript source into a Kotlin file.

glTF 2.0 support is underway!

I was only talking about the comments within the source code.

I see the point but as some importers written in Java are more reliable, maybe they are worth the supplementary effort to port them to Kotlin.

It’s a very good piece of news.