New Release D3D9Client Development

David413

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 17, 2007
Messages
816
Reaction score
1
Points
0
Here is an interesting issue; when increasing the time acceleration above x10 the vehicle I using (the STA, V4.7) "disappears" and the "reappears" when I drop the time acceleration. I tried the same scenario with RC47, no problem, using RC48, the issue occurs.

Windows 7 machine, using the Nvidia graphics drivers if that helps.

Regarding documentation, I would recommend documentation regarding the VASI and PAPI lights at a minimum for folks to understand how to change their base cfg. files.

My 2 cents worth...

Dave
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,651
Reaction score
785
Points
128
Here is an interesting issue; when increasing the time acceleration above x10 the vehicle I using (the STA, V4.7) "disappears" and the "reappears" when I drop the time acceleration. I tried the same scenario with RC47, no problem, using RC48, the issue occurs.
I can reproduce the problem. Looks like it happens with every vessel in my case above x100. Must be related to the camera changes I made for RC48.
EDIT: Found and Fixed.
 
Last edited:

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
...when increasing the time acceleration above x10 the vehicle I using (the STA, V4.7) "disappears" and the "reappears" when I drop the time acceleration...
Windows 7 machine, using the Nvidia graphics...
I am late on this, as it's already been fixed, but I did notice the same on XP with an ATI graphics card.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,651
Reaction score
785
Points
128
We have a lift-off of D3D9Client R1

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.
:cheers:

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.
:cheers:
 

BruceJohnJennerLawso

Dread Lord of the Idiots
Addon Developer
Joined
Apr 14, 2012
Messages
2,585
Reaction score
0
Points
36
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.
:cheers:

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.
:cheers:

Would you care to outline the features for someone not so familiar with this project?
 

Cras

Spring of Life!
Donator
Joined
Apr 13, 2011
Messages
2,215
Reaction score
0
Points
36
Location
Los Angeles
Website
www.youtube.com
Awesome stuff Jarmonik.

Congratulations on reaching this milestone. The D3D9 client is absolutely essential in my book, I can no longer image flying in Orbiter without it.
 

blixel

Donator
Donator
Joined
Jun 29, 2010
Messages
647
Reaction score
0
Points
16
Awesome stuff Jarmonik.

Congratulations on reaching this milestone. The D3D9 client is absolutely essential in my book, I can no longer [imagine] flying in Orbiter without it.

I just want to echo this sentiment. Your work is greatly appreciated. I will occasionally load up Orbiter with the standard graphics client so I can do something with Videnie orbit drawing, and the performance difference is beyond night & day. D3D9 client is so fast and smooth. I, too, can't imagine using Orbiter without it.
 

Bibi Uncle

50% Orbinaut, 50% Developer
Addon Developer
Joined
Aug 12, 2010
Messages
192
Reaction score
0
Points
0
Location
Québec, QC
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.

In order to improve the open source development, a proper DVCS and an online repo would help a lot. When developing the runway lights, I had to rewrite some parts because I did not have the latest build. Therefore, source control is necessary, IMHO. I have a preference for Mercurial, coupled with CodePlex or BitBucket, but that's your choice.

Also a big thanks goes for Bibi Uncle for implementing the runway lights.

It was a pleasure to work with you! :cheers: You have my profound respect for all the work you have done. :tiphat:
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
Congratulations for this epic milestone, Jarmonik!
I have to agree with the others: for me there's no Orbiter without D3D9.

:cheers:

Let's hope Martin will "jump in", maybe he was only waiting for a mature R1.

Regarding "documentation", I wrote detailed instructions (and what-not) on my italian webpage.
 
Last edited:

dumbo2007

Crazy about real time sims
Joined
Nov 29, 2009
Messages
675
Reaction score
0
Points
0
Location
India
Firstly, amazing work Jarmonik :)

We do hope you will be around in the forums often because there is so much to learn in terms of the code in the D3D9 client for noobs in graphics engine programming like me :)

I am planning to integrate my collision detection code with the D3D11 graphics client as soon as terrains is ready. I especially want to do so for displaying collision meshes in sim and other features. It would be great to have you around to help accelerate up the steep learning curve :). If you are looking for motivation, you can always work on terrains in the D3D11 client code , no ? Maybe a 64 bit build too, so more memory is available.

Let's hope Martin will "jump in", maybe he was only waiting for a mature R1.
+10


By the way are all the features in d3d9 also in the d3d11 client ?
 
Last edited:

aldarion

Member
Joined
Oct 20, 2007
Messages
46
Reaction score
0
Points
6
Location
Gdansk
possible bug

Is that normal?
I have 3 sets of different Force vectors and Axes.

D3D9 R1 for Orbiter beta
XR2 newest
Orbiter beta P2
 

Attachments

  • bug1.jpg
    bug1.jpg
    146.1 KB · Views: 50

Evil_Onyx

Well-known member
Joined
Jun 27, 2008
Messages
1,045
Reaction score
60
Points
63
Is that normal?
I have 3 sets of different Force vectors and Axes.

D3D9 R1 for Orbiter beta
XR2 newest
Orbiter beta P2

I think it is showing XR2, XRpayload vessel and a cargo. I think it is normal.
 

IronRain

The One and Only (AFAIK)
Administrator
Moderator
News Reporter
Donator
Joined
Oct 11, 2009
Messages
3,484
Reaction score
403
Points
123
Location
Utrecht
Website
www.spaceflightnewsapi.net
I do have a small issue althoug I don't know if it's discussed already.

When I click the button to automatically generate the dynamic links, everything looks normal, but it doesn't work. When I check the properties of the dynamic link, it's pointing to c:\config. My Orbiter is installed on D:\orbiter\Standaard.

I fixed it by creating the dynamic links myself, but I thought to let you know
 

Cras

Spring of Life!
Donator
Joined
Apr 13, 2011
Messages
2,215
Reaction score
0
Points
36
Location
Los Angeles
Website
www.youtube.com
I do have a small issue althoug I don't know if it's discussed already.

When I click the button to automatically generate the dynamic links, everything looks normal, but it doesn't work. When I check the properties of the dynamic link, it's pointing to c:\config. My Orbiter is installed on D:\orbiter\Standaard.

I fixed it by creating the dynamic links myself, but I thought to let you know

Same. The automatic dynamic links do not seem to be linking to the right folder. Doing it myself works.

Also, it might be related to me seeing a warning on the load up splash that it could not find Config folder in the server folder.

---------- Post added at 10:53 AM ---------- Previous post was at 09:57 AM ----------

I have found two bugs.

I found in RC47 and beyond that there is an animation issue with Shuttle Fleet's umbilical doors. After SRB sep, they appear closed. I never saw this in RC44 so it appeared somewhere in 45-47.

In R1, the moon is not rendered right when looking at it from Earth.

I didnt see this in RC47.

Hang on, I got a picture of the moon thing somewhere...

here it is!
picture.php
 
Last edited:

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
The Video dialog started appearing under Wine, therefore I'm able to run Orbiter with > 50 FPS under Linux. Kudos! :cheers:
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,651
Reaction score
785
Points
128
Same. The automatic dynamic links do not seem to be linking to the right folder. Doing my myself works.
Also, it might be related to me seeing a warning on the load up splash that it could not find Config folder in the server folder.

Do you have the Orbiter installed on some other drive than C:
Do you see the warning even if you have manually created the links ?

Code to display the warning as simple as this. Any ideas what's wrong with it ?
Code:
char dataD[]={"Warning: Config folder not present in /Modules/Server/. Create a symbolic links."};

DWORD cattrib = GetFileAttributes("Modules/Server/Config");

if (cattrib!=0x410 && cattrib!=0x10) {
    SetTextAlign(hDC, TA_CENTER);
    TextOut(hDC, Width/2, Height-50, dataD, strlen(dataD));
}


I found in RC47 and beyond that there is an animation issue with Shuttle Fleet's umbilical doors. After SRB sep, they appear closed. I never saw this in RC44 so it appeared somewhere in 45-47.
This must be related to the modification I made for the DGIV. I have no idea what's going on there. Sad that no-one reported this when the modification was fresh. I lost the Shuttle Fleet during a harddrive break down and it's not available for download anymore. Unless it magically appears on my HD I am not able to do any testing with the issue.

In R1, the moon is not rendered right when looking at it from Earth.
This must be related to the mesh debugger and mesh high-lighting. They are using the same variable. This should be easy to fix.
 
Top