We have a lift-off of D3D9Client R1. Let's hope we get to the orbit. The D3D9Client project was started about a two years ago and it's now almost complete and stable. I have kept the changes to the source codes minimal so that most of the code sections and layout are exactly the same as with the D3D7Client. I did that mostly in a hope that it would be easier for Martin to join into the development. I don't know how much point there is to put efforts in the old DX7 engine, but it's not my call. But, so far, I haven't heard much from Martin.
Not everything has gone according to the plan but since we made-it this far I hope we get through the rest. It was somewhat my intention to convert the D3D9Client to use the DX11, after completing the R1, for more advanced features. But since it's already converted by a group of people, that plan is no longer so obvious. I don't know how many D3D11Clients there are in the making so I am going to wait and see since there are no rush. I don't know how this project is going to continue since my inspiration and motivation to work with this project is somewhat low at a moment. So far, the open source environment haven't proven very beneficial for the project, it allows the code to be ripped off but there is nothing to be ripped back so it works only in one way and not much motivation can be found from there.
One possible way to continue is to go to a closed source renderer which would include some core functions like a mesh class since it would need to be re-written anyway. A better implementation would allow a three times higher frame-rates in an environments those are including complex (i.e. large) meshes with a better shading techniques. Most of the client would still remain open.
I have no idea what's the status of the Orbiter Beta and I don't know when to expect a new versions or patches for the Orbiter. I suppose the remaining problems could be fixed from the client side although the wheel brake force issue would be very challenging. I don't think I am up-to the task. The entire surface base would need to be implemented in a similar fashion like the runway lights. I am pretty sure it would be better for a long run.
The surface management is problematic since everything is made for the DX7 and the requirements of DX9 and DX11 are somewhat different. Currently, the D3D9Client provides a surface emulator (a sort of), that has proven useful and there might be some tricks that might allow to improve that. Currently Orbiter Beta provides and has implemented an oapiCreateSurfaceEx() that allows more exact surface construction but unfortunately passing incorrect flags to the function will only confuse the client. Therefore, it's disabled at a moment to gain a better stability. I don't know what's the best course of action and the DX11 team has been pretty quiet about that as well.
Currently I have been planing to extend the Sketchpad interface so that users could convert the Sketchpad pointer into a more advanced interface that would allow to copy a rectangles, draw meshes and the orbiter scene it-self from a different perspective into a target surface. See ogci.h for a prototype description.
I have to give a big thanks for
Kuddel for implementing the grapple point markers and window hooks. Without those hooks vessel force vectors and axies wouldn't be included in this release. Also a big thanks goes for
Bibi Uncle for implementing the runway lights.
I'll sent some PM to Martin and we'll see if we could get a link to the Orbiter Site for the Client.
D3D9Client web site is located here
http://koti.mbnet.fi/jarmonik/D3D9Client/
It's pretty primitive but it should do the job.