Making a GUI for Panda3D

Hi there :slight_smile: !

For my own purposes I’m working on a project that I call “Panda3D Studio”. As you might gather from the name, it is supposed to be(come) a basic modelling, texturing (and perhaps even animation) solution, right inside of Panda3D itself, eliminating the need for any of that export/import malarkey that can oftentimes be quite frustrating.
Currently, the program doesn’t quite live up to its name (or to the ridiculously high expectations that you might be having right now :wink: ) so “pview +” would probably be a more fitting name in its present state :smiley:, but yes, it is my hope that one day it will become a rather useful tool.

Although it’s not yet in a truly usable state (no model import/export yet), some things are already working fine, like creation of geometry primitives, gizmo’s, selections and transformations (see here for a basic version of those things), there’s a nice grid system, a fully editable, unlimited, branching undo/redo history and currently I’m working on an editable material system. There are also helper objects, including a texture projector which is quite fun to play with :slight_smile: .
So yeah, I’m having a bit of fun with all that and I’ll see how far I can get with it.

In the meantime, feel free to check out the following videos and tell me what you think:

Panda3D Studio - DeepShelf*
Panda3D Studio - Sphere creation
Panda3D Studio - Fun with transforms
Panda3D Studio - The grid
Panda3D Studio - Materials

or download them directly from here:

p3ds - 001. DeepShelf.mp4*
p3ds - 002. Creation.mp4
p3ds - 003. transforms.mp4
p3ds - 004. The grid.mp4
p3ds - 005. materials.mp4

Enjoy the show :slight_smile: !

*) The first video deals with a GUI component called DeepShelf, a special kind of toolbar; it basically combines the functionality of a regular toolbar with that of a recursive directory system (i.e. you can nest “shelves” as deeply as you wish). Navigation is quite easy and doesn’t require even a single mouseclick. In Panda3D Studio it replaces the menu bar and can accommodate any button that doesn’t fit in the main toolbar(s). Its contents is completely customizable by the user.