New Release D3D9Client Development

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,669
Reaction score
798
Points
128
How can I tell if my graphics set-up can do shaders, other than just trying? (I'm also thinking of that animation option in FSX...)
That's a good question. I don't recall having any such application in Win 7 by default. There may exists some third party applications showing the information. D3D9Client will print the information in the /Modules/D3D9Client/D3D9ClientLog.html. The shader models are listed shortly after the list of available display modes.

Usually the DirectX versions and the Shader models goes as:

DirectX 9.0 = Shader 2.0
DirectX 9.0c = Shader 3.0
DirectX 10.0 = Shader 4.0
DirectX 10.1 = Shader 4.1
DirectX 11 = Shader 5.0

There exists some sub-standard DirectX 9 graphics "accelerators" those doesn't have a hardware vertex shader at all. In that case the vertex shader version is reported as 0x00 in D3D9Client Log.

EDIT: The highest shader model supported by DirectX 9 is 3.0. So, even if you have a DX11 graphics accelerator, the shader model is reported as 0x300 in the D3D9ClientLog.

EDIT2: The *.fx files in /Modules/D3D9Client/ can be changed for Shader Model 2.0 by using a text editor. Use a replace all function to replace "_3_0" with "_2_0".
 
Last edited:

Frankynov

Member
Joined
Oct 2, 2008
Messages
39
Reaction score
0
Points
6
I love this client more and more after each release :)

One thing I noticed since a long time ago, the re-entry effects. In the standard graphics, in addition to the flames and smoke, there is a white "shield" around the vessel. Do you think it can easily be added ?

Also, is there a way to test again the new atmosphere rendering ? I didn't read the last pages but was this feature set to pause .. ? :s

Next, video tab settings. Near the "4x multisampling" button, there is another one but without label. What does it do ?

And last, regarding to the future... Do you think it's possible to implement water reflexions "à la FSX" ?

7372_2.png


Many thanks !
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,669
Reaction score
798
Points
128
One thing I noticed since a long time ago, the re-entry effects. In the standard graphics, in addition to the flames and smoke, there is a white "shield" around the vessel. Do you think it can easily be added ?
Orbiter allows an addon developper to use custom reentry textures but the client doesn't know which one to use. But it would be pretty easy to hard code the client to use the default texture.

Also, is there a way to test again the new atmosphere rendering ? I didn't read the last pages but was this feature set to pause .. ?
Not at a moment. The project is on hold but not abandoned. There are many technical difficulties to make it fully operational for an example the orbiter is rendering the scene from the most distant object to the closest one and the rendering order would need to be reversed to reduce rendering costs by allowing z-culling to work more efficiently. I have been thinking about that it might be wiser to do this with DirectX 11 but I don't know yet.

Next, video tab settings. Near the "4x multisampling" button, there is another one but without label. What does it do ?
Nothing and that's why it doesn't have a label. I suppose I could remove it.

And last, regarding to the future... Do you think it's possible to implement water reflexions "à la FSX" ?
It's possible but I don't think it's going to happen. First of all, the Orbiter is a space flight simulator, therefor, rendering a planet as seen from the space is the first priority. If an atmospheric flight is what you want to do there are many fine simulators for it all ready. There are many technical difficulties in implementing new features like that. It would be nice the get the fundamental basics up and running at first. The rendering performance of an old style 2D panel is terrible at a moment and there is simply not much I can do about it. I could write an interface that would allow an efficient way to draw 2D panels but who would use such an interface if it doesn't belong into the Orbiter core ?

But anyway, here is a list of a few reasonable features that can be implemented in a near future:

- Atmospheric scattering.
- Ambient occulusion to allow more realistic light distribution for surfaces.
- Vessel self shadows
- Vessel on vessel shadows
- Improved cloud layer and a mesh or a particle effect based clouds
 
Last edited:

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,295
Reaction score
3,265
Points
203
Location
Toulouse
The shadows would be fantastic already :thumbup:
 

Disconnect

New member
Joined
May 5, 2008
Messages
98
Reaction score
0
Points
0
Location
Budapest
Wow not bad! 4x AA + 16AF, highest resolution textures, every effects enabled + background sphere, and the game is locked az 60 fps (vsync), while the cpu usage is only 60% on a single amd K8 core that runs on 1ghz! Ofc orbiter is not the game that needs much drawcalls but wow. If orbiter and directx would be platform independent, maybe a smartphone would be enough to run orbiter :) (on cpu side, on gpu side i don't think so).

What about planetary/moon shadows? It would be great to see the shadows on jupiter, and the complete darkness on moons when the planet is shading it.

Why do you think about dx11 and not dx10/10.1? you want to use some dx11 exclusive hw capabilities, or just because it's backwards compatible, so it's better for future? (because i think the most of orbiter players don't have dx11 hw yet, but dx10.x is more popular).

A glitch: http://dl.dropbox.com/u/5862163/orbiter/tiles.png that tiled edge appears at sunrise, sunset and visible from low earth orbit
http://dl.dropbox.com/u/5862163/orbiter/tiles.scn (the only addon over default is xr-5, and the earth textures that i use is the "official" level11+lvl14 texture.
 
Last edited:

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,669
Reaction score
798
Points
128
Wow not bad! 4x AA + 16AF
Anisotropy and Filtering settings are defined in D3D9Client.fx for every texture sampler separately. Configuration options in the extra tab has no effect. (Except surface texture load options)

What about planetary/moon shadows? It would be great to see the shadows on jupiter, and the complete darkness on moons when the planet is shading it.
It should be pretty easy to reduce the lighting of a moon when it goes in the shadow of a planet. However, making a moon to cast a shadows on a surface of a planet would need more efforts those are needed elsewhere at a moment.

Why do you think about dx11 and not dx10/10.1? you want to use some dx11 exclusive hw capabilities, or just because it's backwards compatible, so it's better for future? (because i think the most of orbiter players don't have dx11 hw yet, but dx10.x is more popular).
I am going to stay with the DX9 for now, so, there is no need to worry about it.

DX11 has an ability to run double precision arithmetics with the GPU and it can be used to do general purpose computations. DX11 has a tessellation unit that can subdivide large (probably high order) primitives to smaller ones. DX10 has benefits but not any significant enough to make it worth of the efforts to implement it. Therefore, I consider DX11 as an better future investment. But it may take a year or two before we see it. It's too early to say anything more specific about it.

A glitch: http://dl.dropbox.com/u/5862163/orbiter/tiles.png that tiled edge appears at sunrise, sunset and visible from low earth orbit http://dl.dropbox.com/u/5862163/orbiter/tiles.scn (the only addon over default is xr-5, and the earth textures that i use is the "official" level11+lvl14 texture.
I'll take a look in it.
 

Frankynov

Member
Joined
Oct 2, 2008
Messages
39
Reaction score
0
Points
6
I encounter a crash with a default Deltaglider scenario, "Virtual Cockpit".
Every time I launch it, then press F8 to switch to another cockpit mode, orbiter crashed... :/
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,669
Reaction score
798
Points
128
I encounter a crash with a default Deltaglider scenario, "Virtual Cockpit".
Every time I launch it, then press F8 to switch to another cockpit mode, orbiter crashed... :/

Can you reproduce the CTD with standard Orbiter without D3D9Client ?
Can you reproduce the CTD in a clean installation of Orbiter with D3D9Client ?
Are there any errors written in the D3D9ClientLog.html ?
 

Evil_Onyx

Well-known member
Joined
Jun 27, 2008
Messages
1,045
Reaction score
60
Points
63
I dont think this has been reported before.

picture.php


The reflection has a rather abrupt end at the terminator.

picture.php


cockpit view for reproduction information.

picture.php

this is what it looks like using the Orbiter.exe

edit
:facepalm: Need to read the posts more before posting.
 
Last edited:

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
4 total issues so far for me with RC15. all with Shuttle Fleet 4.7
Using onboard laptop Intel Graphics chipset - Mobile Intel 4 Series Express Chipset Family, Win7 Pro 64.

1. No launch exhaust smoke, only flames.
2. Virtual Cockpit does not work properly
a. Data on the HUDs does not show, only button labels*
b. VC "pilot" HUDs (top of instrument panels) don't work and there appear to be two of them on each side
c. Unable to access the rear-center chair (CTRL-ALT-DOWN ARROW)

*While trying to obtain a screenshot for issue 2a, discovered that clicking and holding MFD power buttons to turn on, or simply clicking to change, caused a CTD. MFDs now no longer show at all in the VC.

The generic VC/no-panel MFDs and HUD seem to work fine, although GPC MFD did get cut off on the right side of the MFD window so that the countdown timer did not display.

I can confirm issue 1 also appears on my nVidia 8600GT OC Edition on my desktop, Win7 Home Premium 64.
 

Attachments

  • NoSmoke.jpg
    NoSmoke.jpg
    203.4 KB · Views: 34
  • 2HUDs.jpg
    2HUDs.jpg
    136.2 KB · Views: 30
Last edited:

luki1997a

Active member
Joined
Dec 9, 2010
Messages
314
Reaction score
0
Points
31
Location
Biłgoraj
And last, regarding to the future... Do you think it's possible to implement water reflexions "à la FSX" ?

7372_2.png


Many thanks !

Oh yea:lol:
But! Can you imagine the "beautiful" graphics in orbiter:lol: Yes, shadows, a.. scattering, clouds particles, but I just can't imagine water or terrain "à la FSX":lol: BTW implementing water like a fsx one is very difficult. You will have to have a very high-res map of earth with 2 colors: black- land white- water, or with the e.g. 8 lvl map you'll get strange squares of water placed at coastlines(like reflecting water in Orbiter 2006). Anyway, it's worth to have dreams:thumbup::lol:

Tanks for RC15 jarmonik:thumbup:
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,669
Reaction score
798
Points
128
1. No launch exhaust smoke, only flames.
Code:
(137: 36.56s 129us)(0x694)[WARNING] Texture Contrai4.dds not found. Handle=0xB416CD8
(138: 36.56s 186us)(0x694)[WARNING] Texture Contrai4.dds not found
Looks like a typing error in the ShuttleFleet and there is no fail safe system implemented in the D3D9Client yet.

b. VC "pilot" HUDs (top of instrument panels) don't work and there appear to be two of them on each side

The mesh that is not supposed to be there has a VisMode = 0x15. How is that supposed to be left out from rendering of VC interior ? Doesn't the flags 0x01 and 0x04 conflict with each other ?

Code:
   [SIZE=2]#define [/SIZE] [SIZE=2]MESHVIS_NEVER   0x00[/SIZE]   [SIZE=2]Mesh is never visible. 
[/SIZE]  [SIZE=2]#define [/SIZE] [SIZE=2]MESHVIS_EXTERNAL   0x01[/SIZE]   [SIZE=2]Mesh is visible in external views. 
[/SIZE]  [SIZE=2]#define [/SIZE] [SIZE=2]MESHVIS_COCKPIT   0x02[/SIZE]   [SIZE=2]Mesh is visible in internal (cockpit) views. 
[/SIZE]  [SIZE=2]#define [/SIZE] [SIZE=2]MESHVIS_ALWAYS   (MESHVIS_EXTERNAL|MESHVIS_COCKPIT)[/SIZE]   [SIZE=2]Mesh is always visible. 
[/SIZE]  [SIZE=2]#define [/SIZE] [SIZE=2]MESHVIS_VC   0x04[/SIZE]   [SIZE=2]Mesh is only visible in virtual cockpit internal views.  
[/SIZE]  [SIZE=2]#define [/SIZE] [SIZE=2]MESHVIS_EXTPASS   0x10[/SIZE]   [SIZE=2]Visibility modifier: render mesh during external pass, even  for internal views. 
[/SIZE]
a. Data on the HUDs does not show, only button labels
What data ? There is no GDI access into the back buffer in the D3D9Client. Sketchpad must be used for that.
 

Frankynov

Member
Joined
Oct 2, 2008
Messages
39
Reaction score
0
Points
6
Can you reproduce the CTD with standard Orbiter without D3D9Client ?
Yes.
Can you reproduce the CTD in a clean installation of Orbiter with D3D9Client ?
Yes, too

Are there any errors written in the D3D9ClientLog.html ?
No.

One thing, I just updated my nvidia drivers to the latest 270.61 version. And this is the very first time I can run the stock orbiter on Win 7 - 64bits with more than 30fps, I have between 70 and 140 FPS (DX9 looks far better of course ;) )
 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
What data ? There is no GDI access into the back buffer in the D3D9Client. Sketchpad must be used for that.

Sorry, I used the wrong acronym. I meant to say that the MFDs in the virtual cockpit were not working. And when clicking the button to pull up menu or turn them on/off in the shuttle cockpit, produces a CTD.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,669
Reaction score
798
Points
128
If you can reproduce the CTD without D3D9Client then the client is unlikely the reason for the CTD.

---------- Post added 04-05-11 at 00:09 ---------- Previous post was 03-05-11 at 23:52 ----------

Sorry, I used the wrong acronym. I meant to say that the MFDs in the virtual cockpit were not working. And when clicking the button to pull up menu or turn them on/off in the shuttle cockpit, produces a CTD.

Yes, I can reproduce the CTD by clicking the button in the lower-right corner. That CTD isn't caused by the D3D9Client and there is nothing I can do about it. I suppose David413 could fix it.
 

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,218
Reaction score
1,566
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
Great job on the D3D9 client, mate! :tiphat: I use it all the time now. I just noticed a bug with the HUD (and my apologies if this was already reported): here is the D3D7 HUD with the default DG (I circled the text that is missing on the D3D9 HUD):

d3d7_DG_HUD.jpg


Here is the DG's HUD with D3D9 RC15 (notice the missing "Earth" text):

d3d9_RC15_DG_HUD.jpg


It's a lot more noticable on the XR vessels where more custom HUD content is rendered. Here is the D3D7 client with the XR1:

d3d7_XR1_HUD.jpg


...and here is the same XR1 HUD with D3D9 RC15:

d3d9_RC15_XR1_HUD.jpg


If it helps, the XR HUD makes several calls to the TextOut and Rectangle Windows API calls. I suspect the default DG HUD code does the same thing for rendering the current HUD mode ("EARTH" in the screenshots above).

Anyway, my apologies if this was already reported. Thanks again for your great work on this! :tiphat:
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,669
Reaction score
798
Points
128
Great job on the D3D9 client, mate! :tiphat: I use it all the time now. I just noticed a bug with the HUD (and my apologies if this was already reported): here is the D3D7 HUD with the default DG (I circled the text that is missing on the D3D9 HUD):

Here is the DG's HUD with D3D9 RC15 (notice the missing "Earth" text):

Very interesting. Looks like the color of the HUD is effecting into the visibility of the "Earth". The "Earth" is visible in the green HUD but missing from every other color. :lol:

If it helps, the XR HUD makes several calls to the TextOut and Rectangle Windows API calls.

That is a problem. Windows GDI isn't compatible with the backbuffer. But it's possible to use Sketchpad to draw into the backbuffer with GPU acceleration.:thumbup: The markers in the planetarium mode are created with a Sketchpad. You could take a look into the VESSEL3::clbkDrawHUD function.
 

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
9,218
Reaction score
1,566
Points
203
Location
VA
Website
alteaaerospace.com
Preferred Pronouns
he/him
Will-do, mate, thanks! :tiphat:
 

marooder86

Donator
Donator
Joined
Dec 1, 2010
Messages
188
Reaction score
3
Points
33
Location
London
How can I tell if my graphics set-up can do shaders, other than just trying? (I'm also thinking of that animation option in FSX...)
Here you have simple program which will show you some informations about your graphic card.
 
Top