Pandacast Builder

What I’ve done so far:

  • project manager
  • several viewports
  • customizable interface
  • load actors and animations


Looks good.

Its a scene editor?

Could you explain a little what is this gonna be and what language and GUI toolkit you are using?

It is gonna be a panda3d level editor/game builder, the goal is to create a tool that will enable fast creation and development of panda 3d games/applications. I’m using python and wxpython, I am about to change to c++ but I’m not sure.

Python may be a better choice for you, :wink: Python code is easier to maintain cross-platform wise (and in many other senses as well) and also unless you have 3 different OS’s to compile it on everyone would have to compile it for their OS, which could be pretty icky…

Then again if the python speed is too slow for you if you’re doing manual vertice movement or something then C++ may be the only option. Cython may be another option for you, for your speed-hogging area’s. And if you have no Cython module built for the platform you could default back to python code.

Anywho glad to see you built something like this, it’s very neat! I’ll have a look at it soon.

~powerpup118

Panda is in C++ and already has to be built for every OS. Was your idea to contribute this as a tool to go along the existing tools in the bin directory like pview.exe? I’m gonna assume so since you are posting in features in development. If so I see no problem with it being in C++ (in fact I prefer it, I would cry like a girl too if we were gonna add yet another tool in python, python should be an option, not a dependency, or we’ll be trapped forever in this cycle where we don’t get contributors because we only have python-coding users that can’t modify the c++ core. Though one could argue this is less important for a tool, it’s still a PITA.)

Also if you are going for inclusion we would, in general, like it more if you used a liberally licensed toolkit like this one:

tecgraf.puc-rio.br/iup/

But this is a minor point, it might not be worth the trouble. Although WX has an ugly license and we would like to get rid of it we still use it so it’s actually OK.

That is why I think C++ comes in handy.

I agree with you. I am inspired but I am not sure about my skills in c++, I don’t know where or when I will need help or I’ll get stuck. I feel safe with python at this moment.

The wxPython license hurts me but it does the job well and we know that.

I agree with you. LGPL with static linking exception is OK for a tool anyway. The main problem with LGPL for a game engine (apart from linking, but there’s an exception in wx) is that you can’t use any form of GPL in a console, so you would always be locked to the PC platform. For a tool it doesn’t matter much since you are gonna run that in a PC anyway.

And if you decide to use c++ and get stuck with something you can always ask in the C++ forum. We’ll do what we can to help.

I often see you saying things such as this. This engine is probably best known for its usage of python, its the only good 3D game engine for python. If you want a C++ engine, then go find one, theres tons, Irrlich, Crystal Space, etc.

Theres tons more 3D engines for C++ than python, thats why everyone is coding in python! Chances are most C++ developers pass up Panda3D because they don’t plan on using python.

Gotta disagree with that. First panda isnt just a 3d engine, and I honestly dont know any other c++ engine with such license and features.

I remember some old sdk I had which wanted c#, perl and something else to work properly, but it was for C++. Compared to that, python isnt a big deal.
As for “we don’t get contributors because we only have python-coding users that can’t modify the c++ core”, I could say the complete opposite (python usets and C++ core).

Is there any news on this, Zeph? If you have discontinued your work on it, would you be able to post what you have currently?

I had discontinued this work for personal problems, my apartment was assaulted by bandits, they bore my PC, pen-drives with backups and a lot of things :cry:.

In fact I recently restarted it very slowly. :smiley:

I upgraded to Panda3d 1.7 yesterday, at my first attempt I got this message:

My application does not exit anymore. WxPython is running inside a task.

        # ***************************************************************
        # initialize wx.App
        self.wxApp = wx.App(redirect = False)
        self.wxApp.SetAppName(APPTITLE)
        self.wxApp.SetClassName(APPTITLE)
        
        # ***************************************************************
        # create a new event loop (to overide default wxEventLoop)
        self.eventLoop = wx.EventLoop()
        self.evtLoopOld = wx.EventLoop.GetActive()
        wx.EventLoop.SetActive(self.eventLoop)
        
        taskMgr.add(self._customWxLoop, "Custom wx Event Loop") # add task

    # ###################################################################
    #   -> it is a custom wxEvent loop
    def _customWxLoop(self, task):
        
        # ***************************************************************
        # process any GUI event until there are no more waiting
        while self.eventLoop.Pending():
            
            self.wxApp.ProcessIdle()
            self.eventLoop.Dispatch()
            
        wx.Yield()
        
        return task.cont # perform the task again next frame

OnQuit function:

    # ###################################################################
    #   -> on quit event
    def wxEvtOnQuit(self, wxEvent):
        
        # ***************************************************************
        # exit application
        
        taskMgr.remove("Custom wx Event Loop") # remove custom wx loop
        
        self.auiMgr.UnInit() # deinitialize the frame manager
        wx.EventLoop.SetActive(self.evtLoopOld) # exits wxpython
        
        # try to close panda
        try:
            base
            
        except NameError:
            sys.exit()
            
        base.userExit()

Where was your repository located?

If you do not use one, this should prove to you their worth, plenty of free ones out there as well (although I host my own on my own servers).

These things only happens to me, even panda3d problems that no one have and I can’t fix. :cry:

I do not consider myself a lucky person but I stil have faith. :smiley: Prove of that I am alive! Life is Good! :stuck_out_tongue: