New Release D3D9Client Development

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
Has there been any updates on the functionality of surface base beacons, or TRAIN, or SOLARPLANT?
BEACONARRAYs and RUNWAYLIGHTS are being parsed by the graphics client by reading configuration files of bases, TRAIN[1|2] and SOLARPLANTs currently aren't.
 

fausto

FOI SuperMod
Joined
Jul 13, 2008
Messages
797
Reaction score
2
Points
0
Location
Monza (Milan)
We at FOI have 2 animation issues: both only happen with D3D9 graphics client, while with the inline D3D7 engine everything looks perfect.
The first problem is with Antares' VC, the second concerns the glowing heat shield animation of both Antares and Eridanus.

The problems with Antares VC (latest version) are the most serious ones: the left-side indicators do not work, both in orbital phase and during re-entry.
With the previous Antares version 2.1 they were working just fine (D3D7 and D3D9).
Now they look like this:


anty810.jpg



On the other hand, the indicators on the right side are fully functional:


anty1110.jpg



The GET indicator is not working and if you click on the On-Off button, it disappears:


anty210.jpg


anty310.jpg



The External Power Source indicator is transparent:


anty410.jpg



But the worst problem occurs when the user clicks on the RCS buttons: every part of the VC affected by these small problems collapses and becomes transparent:


anty610.jpg



The strange thing is that the side with the working sensors (cabin pressure, O2, CO2 and cabin temperature) still looks perfect without any problems:


anty710.jpg



This last detail could maybe suggest that the problem is less severe than it seems, maybe related to some of the chenages in the latest versions.
The weak point seems to be the replacement of textures with some other textures, made from bmp file, or the method that was used to change the state of some switches from off to on and vice versa.


And now to the second problem, the heat shield animation.

The latest D3D9 client R8 didn't fix the problem.

The problem occurs with both Antares and Eridanus: during re-entry into the atmosphere the heat shield is designed to represent the reached temperature by changing various shades of red.
With D3D9 client it skips several steps and it changes directly to the bright red and then back to normal, without showing the intermediate shadeds.

Eridanus:
Normal: black > red > light red > red > black
D3D9: black > light red > black

Antares:
Normal: black > red > light red > red > brown burned
D3D9: black > red always on. It keeps on being the same red even after splashing down in the sea.

Both problems are not dependent on client settings, as all the different graphics options have been tested.

PS: thank to Ripley for English translation
 

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 confirm everything Fausto has reported. I have seen all these issues myself on various different versions of the D3D9 client.
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,923
Reaction score
232
Points
138
Location
Cape
Do they both appear in Windows 7 and XP ?
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,135
Reaction score
409
Points
123
Location
Rome
Website
www.tuttovola.org
I think I've found a bug in the way D3D9 parses scenario folder.

Just for the sake of experimenting (and since it is supported) I use to have all my scenarios on Dropbox.
I have of course edited my "Orbiter_NG.cfg" file accordingly:

Code:
; === Subdirectory locations
ConfigDir = .\Config\
MeshDir = .\Meshes\
TextureDir = .\Textures\
HightexDir = .\Textures2\
[B]ScenarioDir = E:\Dropbox\Per Orbiter\Scenari\[/B]


Here are two logs from the "\Scenarios\DeltaGliderIV\Earth Scenary\Docked to ISS.scn" scenario:
- the former is the standard situation, where the scenarios are in the default location, under OrbiterROOT folder.
- the latter is my custom situation.

Both scenarios run (apparently) fine, without CTDs or anything...
Things get interesting after the "Finished setting up render state" line:

STANDARD
Code:
**** Orbiter.log
Build Aug 30 2010 [v.100830]
Timer precision: 2.79365e-007 sec
Found 0 joystick(s)
Module AtlantisConfig.dll .... [Build 100830, API 100830]
Module AtmConfig.dll ......... [Build 100830, API 100830]
Module DGConfigurator.dll .... [Build 100830, API 100830]
Module ExtMFD.dll ............ [Build 100830, API 100830]
Module ScnEditor.dll ......... [Build 100830, API 100830]
Module D3D9Client.dll ........ [Build 130116, API 100830]
Module transx.dll ............ [Build 110130, API 100830]
Module Framerate.dll ......... [Build 100830, API 100830]
Module Rcontrol.dll .......... [Build 100830, API 100830]
Module OrbiterSound.dll ...... [Build 121120, API 100830]
Module Map3DMFD.dll .......... [Build 101102, API 100830]
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: oapiRegisterMFDMode
At least one active module is accessing an obsolete interface function.
Addons which rely on obsolete functions may not be compatible with
future versions of Orbiter.
---------------------------------------------------------------
Module LunarTransferMFD.dll .. [Build 100621, API 100603]
Module LaunchMFD.dll ......... [Build 121020, API 100830]
Module HoverMFD.dll .......... [Build 120505, API 100830]
Module ChecklistMFD.dll ...... [Build ******, API 050206]
Module BaseSyncMFD.dll ....... [Build 100616, API 100603]
Module AeroBrakeMFD.dll ...... [Build ******, API 100830]
Module baseland.dll .......... [Build 120512, API 100830]
Module AbsoluteKillrot.dll ... [Build ******, API 060425]
Module autotime.dll .......... [Build 120401, API 100830]
Module FlightData.dll ........ [Build 100830, API 100830]
Module InterMFD55.dll ........ [Build 100826, API 100704]
Module NAVSET.dll ............ [Build 100724, API 100606]

**** Creating simulation session
D3D9Client: [DirectX 9 Initialized]
D3D9Client: Sytem has XNA math support
D3D9Client:WARNING: [Hardware has only a limited non-power of 2 texture support]
D3D9Client: [3DDevice Initialized]
D3D9Client: [Compiling Effects for Shader Model 3.0]
D3D9Client: [Loading Stars]
D3D9Client: [Loading Constellations]
D3D9Client: [D3D9Client Initialized]
Module Sun.dll ............... [Build 100830, API 100830]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
Module Mercury.dll ........... [Build 100830, API 100830]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
Module Venus.dll ............. [Build 100830, API 100830]
Module VenusAtm2006.dll ...... [Build 100830, API 100830]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
Module Earth.dll ............. [Build 100830, API 100830]
Module EarthAtmJ71G.dll ...... [Build 100830, API 100830]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
Module Moon.dll .............. [Build 100830, API 100830]
ELP82: Precision 1e-005, Terms 116/829
Module Mars.dll .............. [Build 100830, API 100830]
Module MarsAtm2006.dll ....... [Build 100830, API 100830]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
Module Phobos.dll ............ [Build ******, API 060425]
Module Deimos.dll ............ [Build ******, API 060425]
Module Galsat.dll ............ [Build 100217, API 100215]
Module Jupiter.dll ........... [Build 100830, API 100830]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
Module Io.dll ................ [Build 100217, API 100215]
Module Europa.dll ............ [Build 100217, API 100215]
Module Ganymede.dll .......... [Build 100217, API 100215]
Module Callisto.dll .......... [Build 100217, API 100215]
Module Satsat.dll ............ [Build 100215, API 100212]
Module Saturn.dll ............ [Build 100830, API 100830]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
Module Mimas.dll ............. [Build 100215, API 100212]
SATSAT Mimas: Terms 113
Module Enceladus.dll ......... [Build 100215, API 100212]
SATSAT Enceladus: Terms 33
Module Tethys.dll ............ [Build 100215, API 100212]
SATSAT Tethys: Terms 101
Module Dione.dll ............. [Build 100215, API 100212]
SATSAT Dione: Terms 59
Module Rhea.dll .............. [Build 100215, API 100212]
SATSAT Rhea: Terms 68
Module Titan.dll ............. [Build 100215, API 100212]
SATSAT Titan: Terms 100
Module Iapetus.dll ........... [Build 100215, API 100212]
SATSAT Iapetus: Terms 605
Module Uranus.dll ............ [Build 100830, API 100830]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
Module Miranda.dll ........... [Build ******, API 060425]
Module Ariel.dll ............. [Build ******, API 060425]
Module Umbriel.dll ........... [Build ******, API 060425]
Module Titania.dll ........... [Build ******, API 060425]
Module Oberon.dll ............ [Build ******, API 060425]
Module Neptune.dll ........... [Build 100830, API 100830]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
Finished initialising world
Module DeltaGliderIV.dll ..... [Build 121226, API 100830]
Finished initialising status
Finished initialising camera
Finished initialising panels
Finished setting up render state
D3D9Client: [Scene Initialized]
D3D9Client: [Session Closed. Scene deleted.]
UnDeleted Surface(s) Detected
Surface 0x14D24A0 (DGIV\skin\Transworld\DGIII_4.dds) (1024,1024) Type=2, Creation=1
Surface 0x14D2580 (DGIV\skin\Transworld\DGIII_3.dds) (1024,1024) Type=2, Creation=1
Surface 0x14D2660 (DGIV\skin\Transworld\DGIII_5.dds) (1024,1024) Type=2, Creation=1
**** Closing simulation session


CUSTOM
Code:
**** Orbiter.log
Build Aug 30 2010 [v.100830]
Timer precision: 2.79365e-007 sec
Found 0 joystick(s)
Module AtlantisConfig.dll .... [Build 100830, API 100830]
Module AtmConfig.dll ......... [Build 100830, API 100830]
Module DGConfigurator.dll .... [Build 100830, API 100830]
Module ExtMFD.dll ............ [Build 100830, API 100830]
Module ScnEditor.dll ......... [Build 100830, API 100830]
Module D3D9Client.dll ........ [Build 130116, API 100830]
Module transx.dll ............ [Build 110130, API 100830]
Module Framerate.dll ......... [Build 100830, API 100830]
Module Rcontrol.dll .......... [Build 100830, API 100830]
Module OrbiterSound.dll ...... [Build 121120, API 100830]
Module Map3DMFD.dll .......... [Build 101102, API 100830]
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: oapiRegisterMFDMode
At least one active module is accessing an obsolete interface function.
Addons which rely on obsolete functions may not be compatible with
future versions of Orbiter.
---------------------------------------------------------------
Module LunarTransferMFD.dll .. [Build 100621, API 100603]
Module LaunchMFD.dll ......... [Build 121020, API 100830]
Module HoverMFD.dll .......... [Build 120505, API 100830]
Module ChecklistMFD.dll ...... [Build ******, API 050206]
Module BaseSyncMFD.dll ....... [Build 100616, API 100603]
Module AeroBrakeMFD.dll ...... [Build ******, API 100830]
Module baseland.dll .......... [Build 120512, API 100830]
Module AbsoluteKillrot.dll ... [Build ******, API 060425]
Module autotime.dll .......... [Build 120401, API 100830]
Module FlightData.dll ........ [Build 100830, API 100830]
Module InterMFD55.dll ........ [Build 100826, API 100704]
Module NAVSET.dll ............ [Build 100724, API 100606]

**** Creating simulation session
D3D9Client: [DirectX 9 Initialized]
D3D9Client: Sytem has XNA math support
D3D9Client:WARNING: [Hardware has only a limited non-power of 2 texture support]
D3D9Client: [3DDevice Initialized]
D3D9Client: [Compiling Effects for Shader Model 3.0]
D3D9Client: [Loading Stars]
D3D9Client: [Loading Constellations]
D3D9Client: [D3D9Client Initialized]
Module Sun.dll ............... [Build 100830, API 100830]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
Module Mercury.dll ........... [Build 100830, API 100830]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
Module Venus.dll ............. [Build 100830, API 100830]
Module VenusAtm2006.dll ...... [Build 100830, API 100830]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
Module Earth.dll ............. [Build 100830, API 100830]
Module EarthAtmJ71G.dll ...... [Build 100830, API 100830]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
Module Moon.dll .............. [Build 100830, API 100830]
ELP82: Precision 1e-005, Terms 116/829
Module Mars.dll .............. [Build 100830, API 100830]
Module MarsAtm2006.dll ....... [Build 100830, API 100830]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
Module Phobos.dll ............ [Build ******, API 060425]
Module Deimos.dll ............ [Build ******, API 060425]
Module Galsat.dll ............ [Build 100217, API 100215]
Module Jupiter.dll ........... [Build 100830, API 100830]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
Module Io.dll ................ [Build 100217, API 100215]
Module Europa.dll ............ [Build 100217, API 100215]
Module Ganymede.dll .......... [Build 100217, API 100215]
Module Callisto.dll .......... [Build 100217, API 100215]
Module Satsat.dll ............ [Build 100215, API 100212]
Module Saturn.dll ............ [Build 100830, API 100830]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
Module Mimas.dll ............. [Build 100215, API 100212]
SATSAT Mimas: Terms 113
Module Enceladus.dll ......... [Build 100215, API 100212]
SATSAT Enceladus: Terms 33
Module Tethys.dll ............ [Build 100215, API 100212]
SATSAT Tethys: Terms 101
Module Dione.dll ............. [Build 100215, API 100212]
SATSAT Dione: Terms 59
Module Rhea.dll .............. [Build 100215, API 100212]
SATSAT Rhea: Terms 68
Module Titan.dll ............. [Build 100215, API 100212]
SATSAT Titan: Terms 100
Module Iapetus.dll ........... [Build 100215, API 100212]
SATSAT Iapetus: Terms 605
Module Uranus.dll ............ [Build 100830, API 100830]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
Module Miranda.dll ........... [Build ******, API 060425]
Module Ariel.dll ............. [Build ******, API 060425]
Module Umbriel.dll ........... [Build ******, API 060425]
Module Titania.dll ........... [Build ******, API 060425]
Module Oberon.dll ............ [Build ******, API 060425]
Module Neptune.dll ........... [Build 100830, API 100830]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
Finished initialising world
Module DeltaGliderIV.dll ..... [Build 121226, API 100830]
Finished initialising status
Finished initialising camera
Finished initialising panels
Finished setting up render state
Could not open a scenario 'Scenarios\DeltaGliderIV\Earth Scenary\Docked to ISS.scn'
Planet 0xA952BB0 = 'Jupiter' not cataloged
Planet 0xC9D7908 = 'Saturn' not cataloged
Planet 0xC9EC590 = 'Neptune' not cataloged
Planet 0xC9EA730 = 'Uranus' not cataloged
Planet 0xA973198 = 'Earth' not cataloged
Planet 0xA979810 = 'Venus' not cataloged
Planet 0xC7E9ED0 = 'Mars' not cataloged
Planet 0xA951AE8 = 'Mercury' not cataloged
Planet 0xC9B7278 = 'Ganymede' not cataloged
Planet 0xC9C1DE0 = 'Titan' not cataloged
Planet 0xC9C8828 = 'Callisto' not cataloged
Planet 0xA953298 = 'Io' not cataloged
Planet 0xBD81CF8 = 'Moon' not cataloged
Planet 0xC9C35F0 = 'Europa' not cataloged
Planet 0xC9F04B8 = 'Triton' not cataloged
Planet 0xC9ED750 = 'Titania' not cataloged
Planet 0xC9EBEA8 = 'Oberon' not cataloged
Planet 0xC9FC6F0 = 'Rhea' not cataloged
Planet 0xC9EA048 = 'Iapetus' not cataloged
Planet 0xC9EB5D0 = 'Ariel' not cataloged
Planet 0xC9ED068 = 'Umbriel' not cataloged
Planet 0xC9FC008 = 'Dione' not cataloged
Planet 0xCA0E1F8 = 'Tethys' not cataloged
Planet 0xC98EA60 = 'Enceladus' not cataloged
Planet 0xC9EAE18 = 'Miranda' not cataloged
Planet 0xC98E178 = 'Mimas' not cataloged
Planet 0xC9D8810 = 'Proteus' not cataloged
Planet 0xC9E9960 = 'Hyperion' not cataloged
Planet 0xC9D9008 = 'Nereid' not cataloged
Planet 0xC9AA4F0 = 'Phobos' not cataloged
Planet 0xC9B1560 = 'Deimos' not cataloged
D3D9Client: [Scene Initialized]
D3D9Client: [Session Closed. Scene deleted.]
UnDeleted Surface(s) Detected
Surface 0x14D1778 (DGIV\skin\Transworld\DGIII_4.dds) (1024,1024) Type=2, Creation=1
Surface 0x14D1858 (DGIV\skin\Transworld\DGIII_3.dds) (1024,1024) Type=2, Creation=1
Surface 0x14D1938 (DGIV\skin\Transworld\DGIII_5.dds) (1024,1024) Type=2, Creation=1
**** Closing simulation session
 
Last edited:

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
I think I've found a bug in the way D3D9 parses scenario folder.
It's no wonder. The path to scenarios folder is hardcoded in the client, like other configurable paths, and not read from the configuration file.
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,135
Reaction score
409
Points
123
Location
Rome
Website
www.tuttovola.org
Ok, didn't know that.
Not everybody has the required knolewdge to read D3D9 sources to understand why something isn't working as expected.

I just thought D3D9 supported configurable paths, as "standard" Orbiter does.
 
Last edited:

dumbo2007

Crazy about real time sims
Joined
Nov 29, 2009
Messages
675
Reaction score
0
Points
0
Location
India
How do I get the client to recognize more than one graphics card? I have an MSI laptop with a GeForce GTX 670M and an Intel HD 4000; the latter always comes up when I start Orbiter, and I cannot select another.

Is this the Optimus issue again ? Which model is your laptop ?
 

Cosmic Penguin

Geek Penguin in GTO
News Reporter
Donator
Joined
Jan 27, 2011
Messages
3,672
Reaction score
2
Points
63
Location
Hong Kong

eddievhfan1984

Donator
Donator
Joined
Jul 30, 2011
Messages
46
Reaction score
0
Points
0
See this thread of mine for solutions: http://www.orbiter-forum.com/showthread.php?t=29483

BTW why do you need so much RAM for? :blink: Are you using it as a supercomputer!? :huh:

It was an acquisition from EBay: it was $2.3K list when it first came out, I picked it up for $1.25K, and with a second-gen Core i7, the bespoke cards, 2x64GB RAID0 SSDs + 750GB HDD, USB 3.0, Blu-Ray/DVD-RW, Bluetooth 4.0, LED programmable color key lights, and hardware-controlled graphics overclock/fan boost... well, what do YOU think? LOL

EDIT: I tried the technique in your other post, but it still comes up as "Intel HD Graphics 4000". I'm also running Win 8 Pro x64, so sadly, I don't have a MEtro pp (or the like) to get real-time feedback on my cards.
 
Last edited:

Cosmic Penguin

Geek Penguin in GTO
News Reporter
Donator
Joined
Jan 27, 2011
Messages
3,672
Reaction score
2
Points
63
Location
Hong Kong
It was an acquisition from EBay: it was $2.3K list when it first came out, I picked it up for $1.25K, and with a second-gen Core i7, the bespoke cards, 2x64GB RAID0 SSDs + 750GB HDD, USB 3.0, Blu-Ray/DVD-RW, Bluetooth 4.0, LED programmable color key lights, and hardware-controlled graphics overclock/fan boost... well, what do YOU think? LOL

EDIT: I tried the technique in your other post, but it still comes up as "Intel HD Graphics 4000". I'm also running Win 8 Pro x64, so sadly, I don't have a MEtro pp (or the like) to get real-time feedback on my cards.

You mean in the video tab at the "launchpad"? Well it shows that way even when the discrete GPU is being used, so no problem! :thumbup:
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Starting with the Release 302 drivers, application developers can direct the Optimus driver at runtime to use the High Performance Graphics to render any application–even those applications for which there is no existing application profile. They can do this by exporting a global variable named NvOptimusEnablement. The Optimus driver looks for the existence and value of the export. Only the LSB of the DWORD matters at this time. A value of 0x00000001 indicates that rendering should be performed using High Performance Graphics. A value of 0x00000000 indicates that this method should beignored.

Example Usage:
extern "C" {
_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}


I suppose this should be placed in the Orbiter_ng.exe
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
Hi Ripley,

Code:
; === Subdirectory locations
ConfigDir = .\Config\
MeshDir = .\Meshes\
TextureDir = .\Textures\
HightexDir = .\Textures2\
[B]ScenarioDir = E:\Dropbox\Per Orbiter\Scenari\[/B]

You are right. D3D9Client does not read those config lines.
For a workaroud you might try to create a symbolic link (junction) from "Orbiter\scenarios" to "E:\Dropbox\Per Orbiter\Scenari".
But this is (as I said) just a workaroud.
Maybe future version of D3D9Client will read that config lines.
I'll keep you informed about that, as soon as I find some time to look into it.

Regards,
Kuddel
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,135
Reaction score
409
Points
123
Location
Rome
Website
www.tuttovola.org
...Maybe future version of D3D9Client will read that config lines...
Hi kuddel.
I thought D3D9 was just acting as the plain Orbiter, with regard to those config lines.

If you decide, in some future release, to treat them as Martin does, that's fine.
Otherwise I think it could help if the user had a sort of "heads-up" warning, in case he/she changes them.

Thanks for taking the time to look into this.

:cheers:
 

Interceptor

Well-known member
Joined
Mar 28, 2008
Messages
2,718
Reaction score
76
Points
63
Location
Michigan,Florida
Jarmonik,I don't know if this a bug,or not but the replay text,at the bottom of the screen,does not appear when using playback,in the D3d9 client,like in the default orbiter client.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
The record text does not either

Are there any errors in the D3D9ClientLog after you have attempted to play recorded text ?
 

Felix24

Active member
Joined
May 13, 2010
Messages
245
Reaction score
95
Points
43
Hi-res clouds issues

It looks like the DDS format in the "new hires cloud layer addon" is invalid.(LINK) The directx isn't able to read it. I made a few changes into a code to fill the missing information, so, it should work now.

Could you please let me know what I should do to the clouds addon to bring it back into line? I know you kindly "fixed" the problem by changing your code, but the clouds addon still doesn't work in the D3D11 client, and I think it may be the same issue.

I made the cloud addon using texbuild ([ame="http://www.orbithangar.com/searchid.php?ID=4486"]http://www.orbithangar.com/searchid.php?ID=4486)[/ame] so it may be a problem with its code, which, if true, would be a headache for me.

Thanks.
 
Top