After doing that, the process looks somewhat like this:
- Find out how C++/OpenGL applications are compiled for the target platform.
- Build a simple C++ graphics app for the platform. This step gives you the required knowledge about how to even compile a graphics app for that platform, and gives you something to compare the results you get with Panda3D with.
- Set up Panda’s build scripts to use the toolchain for that platform.
- Try compiling Panda3D for the target platform.
- Fix any compilation issues until you can compile the core libraries.
- Write integration modules for the various APIs of the platform for things like graphics, audio, etc. These are usually implemented as plug-ins in various Panda systems.
- Testing if it works, fixing things and debugging until you get the famous pview triangle to show up. This is usually the most iconic moment when porting Panda.
- Try making a build with Python and getting it to work, so that you can run Python scripts with the engine.
- Hacking and debugging until everything works smoothly together, making sure that all the subsystems of Panda you’ll need work, and adding support for the more esoteric (but often necessary) features.
- Make the deployment pipeline work, by porting the runtime.