my company is planning a new project for 3D Visualization. Now we are looking for a 3D Engine that can be used for the rendering of the scences.
Some geographic data should be visualized thus it would be nice if the engine can support the transformation of different geographic coordinate systems. But nevertheless it should be clear that this feature is not needed for a game engine.
An important point is the fact, that the engine can be used in a browser using a plugin. According to this the data should be fetched from a web server or database using some sort of dynamic loading or streaming. Only the part of the scene that is in the direction of the view should be loaded. Otherwise plenty of time is wasted for loading all files at the beginning.
If it is possible to fetch some files from the web it shoudl be possible to encrypt the data. Furthermore the received data should be cached to reduce the traffic.
The embedding of images, sounds and videos into the scene would be nice. Especially for videos the supported formats are important.
It would be nice if you can tell me if some of the demands are supported by the engine.
Thanks and best regards
panda supports running in a browser using the panda3d runtime plugin, it also comes with good network support so you can fetch files on demand.
for encryption there should be a bunch of python modules available, be aware that you have to supply the decryption key with your application so it is not 100% save. but it sets a high barrier for people who want to snatch the data off your server.
images, sounds, video, all supported in panda with pretty much every commonly used format.
transformation of different geographic formats is not buildin into panda, but afaik they are mostly based on simple mathematic relations so you can convert between them without too much trouble.
It is possible to write a program in Panda that will dynamically download the appropriate models based on your current view direction. Panda will not automatically make this determination for you, however; you will have to write the code to do this (presumably in Python), because it will be highly dependent on your own particular scene’s structure.
It’s not clear from your description precisely what you mean by “encryption”, whether you’re referring simply to https transactions, which encrypts communication on the wire, or whether you wish the models to be further encrypted to prevent direct access via URL. Both are supported by Panda, but as Thomas points out, true protection of your assets is impossible, because whatever encryption mechanism you use, the decryption mechanism is always available for a hacker to inspect.
Just for the record: Transforms between different geographic coordinate systems are anything but trivial. Most people don’t even know what terms like “geodetic datum” or “reference ellipsoid” mean. For those who know: There are good Python wrapper for PROJ4 and GDAL.