I think rather that Fortran will rule the world, because it's faster than .NET, and works on all platforms, while .NET works only on Windows and Linux, but not on AIX, zOS, PS3, Android, BlackBerry, MacIntosh, Amiga, iOS, BSD, etc....
I just finished the first phase of my verlet water test. First I tried it with BlitzMax (since got the source code as BlitzMax code), then I tried it as C++ version, and finally as Fortran version. Performance results will follow.
So far it's only 2D, but the ascension to 3D should be trivial, as I read on some plasma physics article ( http://www.plasmaphysics.org.uk/collision3d.htm ) that verlet forces and collisions happen individually per dimension. Furthermore, I found out that OpenGL can draw big round pixels using hardware acceleration and additive alpha blending ( http://www.opengl.org/resources/code/samples/mjktips/particles/index.html ), this is one way to make very fast rendering of a lot of particles.
Now I can see if I can make a custom version of LE 2.43 which has 2 additional commands: mesh=GetWaterMesh() and SetWaterMesh(mesh), but first I have to finish a forum software for Fortran 2008 first.
I would just make pivots which are placed at each cockpit view spot. The rotation and position of the pivot determines how many surrounding instruments are seen, and it is completely aspect ratio independant, as you wouldn't ever have such aspect ratio that you couldn't even see 2 instruments. The pivot should be a bit further away anyway, since else the instruments would be too big on some screens, and that would make them as unreadable as if they were to small.
I could make a special LE 2.43 version which adds access to the waterplane. According to Josh I am allowed to do that and put it in the member downloads.
Meanwhile I am also playing around with a 3D verlet based water for LE2, but it won't look as good as your 3D water, because everything will be big OpenGL points, but it will perhaps be more dynamic,
so you can make a game like where Moses splits the ocean
I managed to get transparent buffers somehow by painting the buffer with an alpha value. You can see the complete code in GameLib's AddNameTag() function: http://www.leadwerks.com/wiki/index.php?title=GameLib#AddNameTag
I don't know if it's fixed, or was it ever broken, or did I do something wrong, but it just didn't work for me, so I had to use SetEntityMatrix(model,GetEntityMatrix(bone)) instead.
But if your animation suddenly doesn't work anymore, try unparenting models from the bones first.
In the feature comparison list it doesn't mention PolyReduce, so it should be in the standard version too, or then they forgot to add it on the pro list.
Sculptris creates by default somewhat high poly models, which is good for normal mapping, so my asdasd monster had 58k vertices.
Then I loaded the obj file which I exported from sculptris into UU3D, and chose the "3D/PolyReduce Model..." which is an awesome feature, because you can use a slider to see in realtime how your model looks with lesser polys. So I ended up with the slider set at 8k polys and it still looks very high poly and smooth. So I saved it as gmf and now it's only a 600k gmf which loads very fast in LE2.
Very nice and easy pipeline from sculptris to LE2!
Small correction: PositionEntity is faster than EntityMatrix, so only if you use both Position+Rotation, or Rotation only, then EntityMatrix is faster:
http://www.leadwerks.com/werkspace/topic/2411-entity-commands-speed-test/page__p__22232__hl__entitymatrix__fromsearch__1#entry22232
I made a list how fast each LE2 command is, and EntityMatrix was faster than PositionEntity and RotateEntity each alone, so it's a lot faster than doing both PositionEntity and RotateEntity.
In the BlitzMax help under "Help/Language/Advanced topics/Interfacing with C" there is an example how to import a C++ class into BlitzMax.
Using this example you could expand it so that the cpp file loads the actual DLL where the actual C++ code is, so that the imported cpp file acts only as a interface header to the dll.
However, you could as well just write the whole C++ code in the cpp file which is imported by BlitzMax, since it would be faster code than if you compiled the DLL with Visual Studio, because BlitzMax uses MinGW C++.
Or if you want it even faster, you could write the DLL in MinGW Fortran, then load it with C++, and then import it in BlitzMax, and it would still be OOP through the whole chain