Irrlicth 3D engine
http://irrlicht.sourceforge.net/links.html
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=8865&postdays=0&postorder=asc&start=90
Ogre 3D engine
http://www.ogre3d.org/
http://www.ogre4j.org/drupal/
http://axiomengine.sourceforge.net/wiki/index.php/Main_Page
Irrlictht and Ogre are very capable and feature rich cross-platform engines implemented in C++ language. Both have many physics plugins and so on…
Both have more or less successfull Java binding subprojects. Both have full-port-to-dotNet-c# spinoff projects underway. I was wondering why most such source ports from a native engines go to dotNet environment, but I have seen none trying same to do pure Java port.
Is it that copying implementation from C++ files is more natural, easier to create in c# language?
I know C# language has structs, a way to use pointers if one is absolutely required (using unmanaged flags), inout ref variables function params (allows swap(int, int) for example), etc…
It is not DirectX interface problem, because most engines support OpenGL rendering as well, those engines run in MacOSX and Linux. Meaning, no engines use directxAPI only helper methods and classes to minimize some of the engine work.
Is it just that trying to port such a gigantic c++ code like fullsized 3D engine is just too much to solve language problems?
I tend to believe it’s too big language differences between C++ and Java. Java code should think so much doing things differently it created a great problem. Doing things so much differently will create maintenance hell when should follow C++ development speed and implement new things or port bug fixes.

