I'm currently developing a tool, that allows users to generate simple textured 3D models given an image and some dimensions as input values.

Using these I need to generate some simple geometric shapes with a material based on that texture. This is currently limited to cuboids, but I'd like to keep the option to generate more complicated shapes in the future. The resulting files then need to be exported in glb format.

The service is currently written in Golang and I use a gltf library to manually generate the resulting files. This works for my simple cuboids, but I feel like it would get complicated very quickly if I'd like to construct more complicated structures. Therefore I'm looking for some higher level of abstraction.

For all models I plan to generate, it would be possible to construct templates in Blender beforehand. These templates would only need to be rescaled and the images of the textures would need to be swapped out.

To summarize:

I need:

  • 3D model generation or manipulation
  • 3D model texturing / image texture manipulation
  • Programm controllable
  • glb export

Nice to have:

  • Direct integration with Golang (e.g. go library)
  • Resource-efficient (fast, low CPU and RAM usage)

3 Answers 3


I am not sure if this will 100% fit your usecase, but https://openscad.org/ is a piece of 3d-modelling/CAD software that allows you to define shapes in a more programmatic way. it may have a pretty decent learning curve and im not sure if it can export in the format you want, but it might be a decent start.


Blender is the Messiah your looking for.

Blender supports execution of python scripts within the scripting window.

Almost all actions you perform in the workspace (extruding mesh faces, transforming the objects, importing models etc.) are all executed as python scripts - with which you can copy & create your own scripts or even addons.

example gif

And of course, blender supports export to a lot of formats by default. But there are plenty of downloadable addons that give you a wider scope. Talking about downloadable goodies, be sure to check out all the procedural mesh generation addons and videos out there.


Blender + python looks like a great solution. Blender is a freeware 3D editor with lots of functions to create and edit 3D models. Python is a widespread and easy to use programming language.

The only difficuly with Blender is it's hard-to-use and counter-intuitive user interface.

  • Welcome MaxSh! Can you add to your answer why your recommendation looks like a great solution? Thanks! Commented Jul 3, 2021 at 7:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.