I'm a graphics engineer and I want to build a 3D modeling tool similar to Blender in Python. The purpose is self educational, but it should support following features:
- Load geometric scenes
- Enable user to select vertices, faces, and perform edit operations on them like translate, rotate etc with mouse or keyboard commands.
- Setup lights, camera and enable users to select and move them around.
- Render scene in selected camera view. Here, I also plan to inject my own custom renderers to test out different algorithms.
I am experienced in Python and in graphics theory. I'd like to know about tools, APIs, libraries I should use to build this project. A game engine like Panda3D has support for everything, but can I use something simpler, since I'm not building a game, but a 3D graphics editing environment much like Blender.