I'm developing a 3D adventure game, and I'm trying to decide what engine to use. I used WildTangent for a while, and it was pretty good API-wise, but it has a terrible level editor and no support for converting maps from other BSP editors, so I decided to look for something better. I discovered Irrlicht quite by chance from a site that compares 3D graphics engines, and so far it looks to be the most promising (as well as free!).
I have a few questions though:
1) Very important: is there a way to convert 3d coordinates to their 2D pixel location and vice versa?
2) Is the engine event-based? I.e., can I attach function pointers ("delegates") to objects in order to trigger custom functions that handle specific events (Such as user input, collision, engine events)? Or do I need to modify and recompile bits of the engine for that?
3) Is mesh manipulation through code possible? I.e. moving specific vertices.
4) Is there an object that handles the current "state" of a scene so that it can be serialized (to a file, for example) and then loaded back later to resume at the exact same state? Or is that up to the developer to implement?
5) Is there a universal "time" parameter that detemines speeds of animations, particle effects, etc?
6) Is there any such thing as a portal (connecting physically distant scenes)?
7) How is terrain handled? Can terrain be generated dynamically from height maps? Is it textured using projection mapping?
I think I might have a few more, but I seem to have forgotten them :p
Anyway, I'd greatly appreciate any answers. Thanks in advance!