I am not a apple developer just a C programming hack. Need to get some other eyes on this work and possible even some help in posishing the rough edges.

I just committed a working OSX windows framework to the head of the tree. I used AGL for rendering and carbon for events and windows. Some CGL code for full screen. Itâ€™s in a new directory osxwindow .

Very little of this is linked to python yet just. Doing all my wok in native panda (C++). I am using pview as a test case. I have multi-windowing, shared GL contexts, full screen, keyboard and mouse events working. I ignored none mouse/keyboard input for know.

Using some test eggs I was able to load both models and animations and have them run as expected. I still need to find all the changes and get the committed to the CVS.

I next started to bring in the external packages. Opensll, fft, png, jpeg,.Being a FreeBSD diehard I deciding to use the Darwin ports collection to do all this. Turned out to be a breeze. No major problems. So know have c++ panda working with jpegs and png......

The next think I started to work on was the py bindings. When I stopped yesterday I had pandaexpress working inside python, But had to link libandaexpress by hand not using make enviorment.

Python plug-ins need to be bundles not dylibs .. so I need to figure out how to add a new class target to ppremake that generates a different linker command for python plugins on OSX. I do not imagine this is hard just still hacking inside of ppremake and do not fully understand this environment.

Yes I can announce PAND3D runs OSX 10.4 or higher. ( only off head of CVS tree)

I need some one else to help clean up the builds and prove what I have done is repeatable. Still fiddling around trying to get some buffers and context sharing issues working. Kind of colliding with some other work going on the core glggs.

Wow... nice work. Nice progress. Its a shame that there are only few ppl are dev'ing for Panda3D outside of Disney... (and even less for MacOS X) If there is any support, a noobish' non-Mac-User can give you (that even can't compile the installing package using linux - dunno why), lemme know.
Would be great to see this architecture in the list of Panda's "have" side

By default the ports are installed into the /opt/ directory tree s set you path and such ..................
Get Python 2.4
Python version is 2.4 from http://www.python.org/download/mac/ (used installers)

Going to need a little bit more info. I have basically the exact same line for my /panda/src/pnmimage interigate iyet it seems to get past this problem ? . I looked at my /usr/include/stdarg.h
An it only has a handful of lines..

I've seen something similar while I was attempting to build on OS X under makepanda.

It may help to look at this forum post on the makepanda side: http://panda3d.org/phpbb2/viewtopic.php?t=295&start=30. The basic issue is that interrogate isn't generalized enough to parse the system header files whilst building the python wrappers; to prevent interrogate from traversing up the tree, you can put stub files in one of the source directories to stop interrogate from finding the system headers.

Weird. There seems to be different version of the .h files running around not sure the exact problem here. Only reference I can find to this value is in float.h under /usr/include/gcc/darwin/3.3 I did use gcc 4.0 not 3.3 so not sure of the 3.3 behavior But looking at the floats.h it will not parse without the symbol present.

.... But lets focus on a simple solution. For symbols that are hard defined in a compiler ( GCC) You can just transfer them to the interrogate preprocessor. Something like this .

hmm yup you are on a newer version than me ;(. I guess I need to get a new version.

Paul.

You did get the gist of the previous post. The gcc compiler has some hard coded â€œsort of â€˜ preprocessor #defines and some of there .h files must have them to parse properly. The easiest way I know to get by this is to just.

Well. This to is a problem. Man I really appreciate you jumping threw these hoops. At some point me and Josh owe you all a prebuilt running environment. Or at least a clean build tree for osx.

Three things seem to be actively changing in panda. One is a threaded renderer/ cull engine. The second is the way the graphic state guardian interacts and communicates with the lower level objects. The third is some people are mucking with some new GL features like shaders and looks like glquerry object interface. The issue here is that panda has a local glut definition file that is working agenst the apple glut file and Opengl.h . Odviously the â€œHACKSâ€

Cool. You have made it threw the hard part. Try pview. And see if you get basic functionality. There are some more complex samples in the model tree if you loaded that.

Pview mysample.egg

I am not even sure what ppython is. Maybe someone else can help here I just use the real python2.4 binary. Get python and panda in you path(s) and load a library you just generated and call sum functionsâ€¦.. They are the *.so in the /usr/local/panda/lib directory.

Something like

python
import libpandaexpress
dir(libpandaexpress)

To go to the next step you will need direct and to successfully run the genpycode. Direct is small but is the glue to most of the python environment and a base repository as a kick start for a lot of peoples code.

If I recall correctly, ppython is a Windows wrapper EXE that sets up your path correctly to find the Panda libraries and then executes the Python installed with Panda. I noticed when I built Linux that it didn't come out of the build process (at least, not on a path where I could find it), so I wouldn't be surprised if the same were true of OSX. You can probably just ignore it and instead set your PYTHONPATH and LD_LIBRARY_PATH variables correctly (or write your own ppython shell script that does this).

ppython is generated by the makepanda build tool, but not by the ppremake build tool. The ppremake tool just uses whatever your system version of Python is (or whatever version you point it at in your Config.pp file).

Sounds like a SourceForge issue. SourceForge wouldn't let us remove anonymous access even if we wanted to; that's the whole point of SourceForge's existance. But the cvs server does occasionally hiccup.