Here is my list of requirements:
- The most important aspect of my project is that it will not normally be run in full-screen mode. The project is based on the Qt GUI framework and will use a Qt widget to host the drawing surface. This means that the drawing surface must be sizeable to any dimension. I really could not figure out how to do this when I first tried Ogre3D out and so I am wondering if this is possible. The only modes it seemed I could choose from were standard resolution surfaces.
- The project must be portable to Windows, Android, Linux, and possibly even Mac and iOS. I also prefer to support both DirectX and OpenGL (Yes... I know this is all possible with this engine).
- I do not know much about shaders at this point in time and do not really want to have to understand them in order to get certain lighting features to work that I could easily do in DirectX but don't seem possible in this engine (as far as I have been able to look). I need to be able to have a directional light source whose angle changes for every item drawn in a scene (to simulate for example the lighting of objects moving around a large light source).
- I need to be able to easily define my own meshes mathematically using several algorithms, one of which I custom made in a DirectX application based on a specific spherical grid system (ISEA... for more info/details see http://www.pyxisinnovation.com/pyxwiki/ ... gonal_Grid and http://cs.sou.edu/~sahrk/dgg/pubs/gdggs03.pdf). The meshes involved must support both colored and multiple texture vertices, all with normals. These meshes must be easily optimized using custom fan and strip rendering. I am not saying that the optimization methods will be easy (indeed... this will be very complex)... but I must be able to specify how the object is to be rendered without using some obscure, hard-to-find or complex to implement method.
- I need to be able to accurately and completely import 3d art work created on various tools (most likely Blender, 3DSMax, and/or Maya). I know that there are converters out there but how up to date do these tend to be? And do they do the job well?
- Quick and easy screen coordinate-to 3d world ray-tracing is a must. Yes I know that I must provide/program the algorithm myself but I need to know that there is a way to do this between qt screen coordinates and ogre's 3d system.
- I need to be able to draw 2D objects within the 3D space. Shapes in a plane that are in the picture and text that overlays the scene. It would be nice to have some sort of interface engine too.
A physics system will not be necessary early on but complete interaction with the 3d objects will be necessary. Eventually I need to be able to develop or find a physics engine. - I must be able to integrate it with sound, video clips, scripting (most likely LUA), and even force feedback devices (eventually).
- And finally, this project is a very large undertaking with many different graphics and "gaming" demands depending on who is using the system. It must be able to work on lower end computers and tablets, even if that means downgrading the rendering some, depending on the machine. It will NOT be used on phones (too small of an interface).
ALSO: are their nice plugins to irrlicht like their are for ogre?