New Release D3D9Client Development

Marvin42

Mostly Harmless
Joined
Nov 1, 2011
Messages
67
Reaction score
0
Points
6
I typically use the "extended desktop" mode in Windows default screen swapping.

Extended destop should work ok. Now, by default, only one application can be in full-screen mode at a time. An application will normally exit full-screen mode when the user switches to another application. You need to run Orbiter in a window'ed mode, drag it to one monitor and use excel window in another monitor.
Edit: To understand better, Windows' desktop is just a giant window without X button. Making a program fullscreen moves the edge of that program's window to match the one of the desktop. There's no way windows could know, by default, that when you say fullscreen you mean just half of the desktop (and at the right size so it will display fine on the first/seccond monitor).
 
Last edited:

eddievhfan1984

Donator
Donator
Joined
Jul 30, 2011
Messages
46
Reaction score
0
Points
0
Cool series, BTW. \m/

But I did know that. It would just be nice to individually address each device, IMO. :p
 

romanasul

Member
Joined
May 5, 2012
Messages
301
Reaction score
0
Points
16
Location
Toronto
I apologize if this was asked before, but it's hard to go through 117 pages of posts. I've always wondered what the options in the advanced tab under "Video" mean? For example: "Disable near clip plane compatibility mode", "Sketchpad Settings", and "Generic Configuration"
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
I apologize if this was asked before, but it's hard to go through 117 pages of posts. I've always wondered what the options in the advanced tab under "Video" mean? For example: "Disable near clip plane compatibility mode", "Sketchpad Settings", and "Generic Configuration"
Hi roman,

no need for apologize ;) Not-documenting is a very common mis-habit among software developers.:embarrassed:

As I can't *really* tell you what exactly these settings you've mentioned are doing (apart from their influence in the code) I have to forward this questions to jarmonik so far.

BUT! I will add/update the documentation that will be shipped with any further release of D3D9Client as soon as I have more detailed (and correct) descriptions.
If anyone else can give some nice descriptions in the meantime, we will be happy to use them.

/Kuddel

---------- Post added at 23:57 ---------- Previous post was at 22:19 ----------

This is what I've got so far (sorry roman your question is not yet answered ;) )


D3D9Client Advanced Setup
Under the regular Video Tab of the Orbiter (Orbiter_NG) Launchpad you find the ”Advanced” Button that will show the ”D3D9Client Advanced Setup” Dialog. Here you can change several settings to tweak your experience with the D3D9Client.


  • Surface texture load options
Here you can change the behavior how the D3D9Client will load surface textures. The two options available are either ”Load on demand (recommended)” or ”Pre-load at session start”:

- Load on demand (recommended)
With this recommended option selected the D3D9Client will only load surface textures when they come into view while you are orbiting a planet. The value in the ”Max. load frequency [Hz]” input field lets you tune the maximum frequency the D3D9Client will check whether some new surface textures have come into view.
- Pre-load at session start
Whith this option selected the D3D9Client will load all surface textures at startup of a scenario which results in a longer loading time.

  • Graphics options
Here you can change settings according to your graphic hardware:

- Anti-aliasing
Depending on your hardware you can select the anti-aliasing feature that will ”smoothen” the visula artifacts that occur when displaying edges.
- Anisotropic filtering
Depending on your hardware you can select the … TODO
Following checkboxes can be checked (enabled) or unchecked (disabled) to further fine-tune your D3D9Client experience:

- Pre-load base visuals at startup
TODO
- Enable advanced texture maps
TODO
- Disable near clip plane compatibility mode
If the near clip-plane compatibility mode is enabled then the minimun clip-plane distance is 1.0 meters as is in the Orbiter's internal engine. If the compatibility mode is disabled then the client can reduce the clip distance down to 0.1 meters, if there is a graphics close to the camera. This setting will only effect in so-called exterior pass. Virtual cockpit near clip-plane distance is defined in D3D9Client.cfg and the default value is 0.1 meters.

  • SketchPad settings
The SketchPad is used in Orbiter to draw 2D graphics onto surfaces. These are for example MFD Displays or announcemnets in the Simulation.

- Device to use
The two options you can choose from at ”Device to use” are ”GDI/DirectX” and ”GDI Only”.
GDI/DirectX will use the DirectX 2D drawing capabilities of your graphic hardware to draw 2D surfaces. Normally this is the recommended setting, because it will not produce so much CPU load that the ”GDI Only” option.
GDI Only will only use GDI to draw 2D surfaces wich might be the option when you experience any glitches or graphical artifacts in MFD screens. This mode is used for older graphic hardware to be able to run Orbiter.
- Font rendering
The four options you can choose from at ”Font rendering” are ”Crisp”, ”Default”, ”Cleartype” and ”Proof Quality”.
Each setting will render fonts more smooth but uses a bit more graphic hardware performance.

  • Generic configuration
TODO

  • StereoScopic 3D
TODO​
 
Last edited:

romanasul

Member
Joined
May 5, 2012
Messages
301
Reaction score
0
Points
16
Location
Toronto
Hi roman,

no need for apologize ;) Not-documenting is a very common mis-habit among software developers.:embarrassed:

As I can't *really* tell you what exactly these settings you've mentioned are doing (apart from their influence in the code) I have to forward this questions to jarmonik so far.

BUT! I will add/update the documentation that will be shipped with any further release of D3D9Client as soon as I have more detailed (and correct) descriptions.
If anyone else can give some nice descriptions in the meantime, we will be happy to use them.

/Kuddel

---------- Post added at 23:57 ---------- Previous post was at 22:19 ----------

This is what I've got so far (sorry roman your question is not yet answered ;) )


D3D9Client Advanced Setup
Under the regular Video Tab of the Orbiter (Orbiter_NG) Launchpad you find the ”Advanced” Button that will show the ”D3D9Client Advanced Setup” Dialog. Here you can change several settings to tweak your experience with the D3D9Client.


  • Surface texture load options
Here you can change the behavior how the D3D9Client will load surface textures. The two options available are either ”Load on demand (recommended)” or ”Pre-load at session start”:

- Load on demand (recommended)
With this recommended option selected the D3D9Client will only load surface textures when they come into view while you are orbiting a planet. The value in the ”Max. load frequency [Hz]” input field lets you tune the maximum frequency the D3D9Client will check whether some new surface textures have come into view.
- Pre-load at session start
Whith this option selected the D3D9Client will load all surface textures at startup of a scenario which results in a longer loading time.

  • Graphics options
Here you can change settings according to your graphic hardware:

- Anti-aliasing
Depending on your hardware you can select the anti-aliasing feature that will ”smoothen” the visula artifacts that occur when displaying edges.
- Anisotropic filtering
Depending on your hardware you can select the … TODO
Following checkboxes can be checked (enabled) or unchecked (disabled) to further fine-tune your D3D9Client experience:

- Pre-load base visuals at startup
TODO
- Enable advanced texture maps
TODO
- Disable near clip plane compatibility mode
TODO

  • SketchPad settings
The SketchPad is used in Orbiter to draw 2D graphics onto surfaces. These are for example MFD Displays or announcemnets in the Simulation.

- Device to use
The two options you can choose from at ”Device to use” are ”GDI/DirectX” and ”GDI Only”.
GDI/DirectX will use the DirectX 2D drawing capabilities of your graphic hardware to draw 2D surfaces. Normally this is the recommended setting, because it will not produce so much CPU load that the ”GDI Only” option.
GDI Only will only use GDI to draw 2D surfaces wich might be the option when you experience any glitches or graphical artifacts in MFD screens. This mode is used for older graphic hardware to be able to run Orbiter.
- Font rendering
The four options you can choose from at ”Font rendering” are ”Crisp”, ”Default”, ”Cleartype” and ”Proof Quality”.
Each setting will render fonts more smooth but uses a bit more graphic hardware performance.

  • Generic configuration
TODO

  • StereoScopic 3D
TODO​

Thanks for the quick reply, this is exactly what I wanted to know.
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
Thanks for the quick reply, this is exactly what I wanted to know.
You're welcome.
By the way, I've updated my previous post (here) with information I got from jarmonik according to the "Disable near clip plane compatibility mode" you've asked.

I am not sure if I continue to update that post, 'cause it it kind of hidden in this thread and might need a better place.
But the next release will definitely contain more documentation... promised!

/Kuddel
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
D3D9Client on CodePlex

D3D9Client has launched on CodePlex. That should provide a better project management for a developpers. Let's see how it works...

http://d3d9client.codeplex.com/

EDIT:
I have added a single-ended configuration parameter for runway lights but I am afraid that it's not very well packwards compatible with the inline engine. So, we may need to find a better solution for an asymmetric runway lights.
 
Last edited:

Phoenix

New member
Joined
Nov 17, 2009
Messages
72
Reaction score
0
Points
0
D3D9Client has launched on CodePlex. That should provide a better project management for a developpers. Let's see how it works...

http://d3d9client.codeplex.com/

EDIT:
I have added a single-ended configuration parameter for runway lights but I am afraid that it's not very well packwards compatible with the inline engine. So, we may need to find a better solution for an asymmetric runway lights.

Thanks for your work in creating runway lighting for asymmetric runways, but I am having difficulty with it. I have probably misunderstood how it works.

I have an asymmetric runway with a displaced threshold size of about 232m at end one, and no displaced threshold at end two. Here's the code for the two sets of runway lights using the SINGLEENDED keyword (I swapped the coordinates for END1 and END2 for the second set of lights because I thought that's how it works):

Code:
RUNWAYLIGHTS
  END1 -1014.70 0 421.45
  END2 1012.37 0 -409.10
  WIDTH 43
  COUNT1 40
  PAPI 3.25 3.25 311.37 1
  TD_DISP 231.67
  SINGLEENDED
END
RUNWAYLIGHTS
  END1 1012.37 0 -409.10
  END2 -1014.70 0 421.45
  WIDTH 43
  COUNT1 40
  PAPI 3.25 3.25 311.37 1
  TD_DISP 0
  SINGLEENDED
END

The problem is, I am still seeing two sets of green lights at both ends of the runway, spaced at 232 metres. I am using version R6b of the client.

I suppose it could be another issue with my Intel Graphics chip.

I have attached an image of the issue. Thanks.
 

Attachments

  • Asymmetric Runway Lighting Problem.jpg
    Asymmetric Runway Lighting Problem.jpg
    148.7 KB · Views: 33
Last edited:

darkvoid

New member
Joined
Jun 25, 2011
Messages
6
Reaction score
0
Points
1
Hi

I used in time D3D9 in my orbiter 111105.

I needed to reinstall everything and now I can't find module for 111105.

I searched everywhere download zip from http://koti.mbnet.fi/jarmonik/D3D9Client/, but there is no 111105 module and no information about this version of orbiter.

Anyone can help please?
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Hi
I used in time D3D9 in my orbiter 111105.
I needed to reinstall everything and now I can't find module for 111105.
I searched everywhere download zip from http://koti.mbnet.fi/jarmonik/D3D9Client/, but there is no 111105 module and no information about this version of orbiter.
Anyone can help please?

Here is a build for latest Orbiter beta. Use the forum/orbithangar search function to located the latest Beta Download. (it's very unstable). That version of the client might work with 111105 as well. I haven't tested.

http://orbiter-forum.com/showthread.php?p=388778&postcount=1728

---------- Post added at 16:18 ---------- Previous post was at 16:14 ----------

Thanks for your work in creating runway lighting for asymmetric runways, but I am having difficulty with it. I have probably misunderstood how it works.

Code:
RUNWAYLIGHTS
  END1 -1014.70 0 421.45
  END2 1012.37 0 -409.10
  WIDTH 43
  COUNT1 40
  PAPI 3.25 3.25 311.37 1
  TD_DISP 231.67
  SINGLEENDED
END
RUNWAYLIGHTS
  END1 1012.37 0 -409.10
  END2 -1014.70 0 421.45
  WIDTH 43
  COUNT1 40
  PAPI 3.25 3.25 311.37 1
  TD_DISP 0
  SINGLEENDED
END

The code seems to be correct. There is something wrong in the client. I can't reproduce that but I'll get a different kind of error. It could be related to TD_DISP parameter. Does it work if you remove that ? Maybe a fixing of this anomaly will fix the other anomalies related to runway lights as well. I am looking into it.
 

Phoenix

New member
Joined
Nov 17, 2009
Messages
72
Reaction score
0
Points
0
I don't think removing the TD_DISP parameter makes any difference other than not being able to have the green, threshold lights in a different place to the red, end-of-runway ones.

I think that having an optional, second parameter to TD_DISP is the simplest and possibly the most backwardly compatible way to have displaced thresholds of different lengths, rather than two sets of runway lighting, but it's upto you.

Thanks.
 

Interceptor

Well-known member
Joined
Mar 28, 2008
Messages
2,718
Reaction score
76
Points
63
Location
Michigan,Florida
Hi jarmonik,I just noticed something,I don't know if it's a bug,or not,but I was landing at loru's Carl Sagan Space center,and I saw that the default orbiter shows flashing strobe lights on both ends of the runway,and the strobe lights in the D3d9 client don't flash at all.Thanks
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
I think that having an optional, second parameter to TD_DISP is the simplest and possibly the most backwardly compatible way to have displaced thresholds of different lengths, rather than two sets of runway lighting, but it's upto you.

Yes I agree, if that's all you need. I'll add TD_DISP2 parameter in the next release. But anyway, I did discover a fundamental bug from a runway lights that may have been causing many kind of side effects.

Here is a new build for testing. TD_DISP2 is not yet included.
 

Attachments

  • D3D9ClientR6c.zip
    285.8 KB · Views: 18

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Hi jarmonik,I just noticed something,I don't know if it's a bug,or not,but I was landing at loru's Carl Sagan Space center,and I saw that the default orbiter shows flashing strobe lights on both ends of the runway,and the strobe lights in the D3d9 client don't flash at all.Thanks

That depends about the runway width. They do flash if the width is less than 63m if I recall correctly. I suppose there could be a configuration parameter to control the layout/behaviour of the lights.

---------- Post added at 22:07 ---------- Previous post was at 21:40 ----------

Currently two runwaylinght categories are implemented.

- ALSF-II for wide runways >59m and (no flashing lights)
- SSALR for narrow runways <59m (with flashing strobe lights)

Is there a need for manual category selection ?
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Ok, here is a new build with new runway light parameters

- TD_DISP2
- CATEGORY

Categoty can be either 1 = SSALR or 2 = ALSF-II
If the category isn't specified then it is automatically selected based on runway width.
 

Attachments

  • D3D9ClientR6d.zip
    285.9 KB · Views: 20

Interceptor

Well-known member
Joined
Mar 28, 2008
Messages
2,718
Reaction score
76
Points
63
Location
Michigan,Florida
That depends about the runway width. They do flash if the width is less than 63m if I recall correctly. I suppose there could be a configuration parameter to control the layout/behaviour of the lights.

---------- Post added at 22:07 ---------- Previous post was at 21:40 ----------

Currently two runwaylinght categories are implemented.

- ALSF-II for wide runways >59m and (no flashing lights)
- SSALR for narrow runways <59m (with flashing strobe lights)

Is there a need for manual category selection ?
Well,I think for the D3d9 client to emmulate the runway lights in an addons such as loru's Carl Sagan space center as close as possible would be a good thing,so I think an option for this would be a bonus.Thanks for the info.
 

Phoenix

New member
Joined
Nov 17, 2009
Messages
72
Reaction score
0
Points
0
Ok, here is a new build with new runway light parameters

- TD_DISP2
- CATEGORY

Categoty can be either 1 = SSALR or 2 = ALSF-II
If the category isn't specified then it is automatically selected based on runway width.

Thanks for the update. I have tried the TD_DISP2 keyword on three of my runways and it works really well, but in doing so I realised a problem I hadn't forseen - PAPI distances. They are sometimes different from each end of the runway lights, especially if the displaced threshold is different. Maybe a PAPI2 keyword would solve this. Sorry.
 
Top