Project D3D11Client Development

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
What about eclipse shadows? Is there any progress concerning this feature in one of the clients?
It is doable, however currently I don't have it in my short-term plans.

Guys, I've got some great news - it looks like new DGIV version soon will be available, which will work with D3D11 client! After some fixes inside client, latest beta from Dan seems to be working just fine. Here is what it looks like:

DGIV on Moon orbit:
DGIV%20on%20moon%20orbit.png


DGIV's ascent autopilot at work:
DGIV%20-%20hover%20ascent%20ap.png
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
I've just uploaded a new build with fix for "103% issue". Also - if some you guys have got some spare time - please help Dan (and me) with DGIV testing by joining his beta testers program. You can do so by leaving a post here: http://orbiter.dansteph.com/forum/read.php?f=2&i=15083&t=15083

Thanks in advance to anyone who will help us make the combination DGIV + D3D11Client working and bug-free!
 
Last edited:

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
Update - I've fixed some nasty bugs. That should improve compatibility with vessel addons (for example now Soyuz FG/U seem to work fine, while previously it CTDed at T-13, and there were animation issues too starting from service tower separation).
In addition to it in the background I'm trying to come up with lighting model that would allow to implement beacons' shadows and terrain self-shadowing without trashing performance...
 
Last edited:
Joined
Mar 23, 2008
Messages
165
Reaction score
0
Points
16
Just been doing some more unstructured testing (don't get time to do any serious stuff). I still have problems with surface tiles:

picture.php


picture.php


and my issue with the KSC tiles remains in the latest version:
picture.php


(I know this is an older version but the problem remains in the Mar 21 build)

I'm beginning to think it may be to do with my hardware/drivers (mobile I3/HD 3000). I know Intel aren't renowned for their OpenGL drivers, and I've been messing with driver versions to try to find a decent one that doesn't hobble Google Earth in OpenGL (latest driver kills framerate to 0.2fps from 45) and Celestia (fps c.5) but also works with Orbiter d3D graphics clients. Some driver versions appear worse than others in D3D11 client for producing weird tile effects.

A final issue (not sure if it's related) I get texture not loaded warnings for *_n textures which do not exist:

Code:
**** Orbiter.log
Build Nov  5 2011 [v.111105]
Timer precision: 4.88715e-007 sec
Found 0 joystick(s)
Module AtlantisConfig.dll .... [Build 111105, API 111105]
Module AtmConfig.dll ......... [Build 111105, API 111105]
Module DGConfigurator.dll .... [Build 111105, API 111105]
Module OrbiterSound.dll ...... [Build ******, API 060425]
---------------------------------------------------------------
>>> 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 ScnEditor.dll ......... [Build 111105, API 111105]
Module ExtMFD.dll ............ [Build 111105, API 111105]
Module D3D11Client.dll ....... [Build 120321, API 111105]

**** Creating simulation session
D3D11Client::clbkCreateRenderWindow
D3D11Client::clbkGetViewportSize
D3D11Client::clbkFullscreenMode
Texture not found: Fcd07_n.dds
Texture not found: Fcd07_n.dds
Texture not found: Fcd08_n.dds
Texture not found: Fcd08_n.dds
Texture not found: Fcd09_n.dds
Texture not found: Fcd09_n.dds
Texture not found: Fcd10_n.dds
Texture not found: Fcd10_n.dds
Texture not found: Fcd14_n.dds
Texture not found: Fcd14_n.dds
Texture not found: Fcd15_n.dds
Texture not found: Fcd15_n.dds
Texture not found: Roof01_n.dds
Texture not found: Roof01_n.dds
Texture not found: Roof02_n.dds
Texture not found: Roof02_n.dds
Texture not found: Wall01_n.dds
Texture not found: Wall01_n.dds
Texture not found: Door01_n.dds
Texture not found: Door01_n.dds
Texture not found: Solpanel_n.dds
Texture not found: Solpanel_n.dds
Texture not found: Runway2_n.dds
Texture not found: Runway2_n.dds
Texture not found: Ball_n.dds
Texture not found: Ball_n.dds
Texture not found: Cape17_n.dds
Texture not found: Cape17_n.dds
Texture not found: Cape18_n.dds
Texture not found: Cape18_n.dds
Texture not found: Cape19_n.dds
Texture not found: Cape19_n.dds
Texture not found: Cape20_n.dds
Texture not found: Cape20_n.dds
Texture not found: Cape21.dds
Texture not found: Cape21.dds
Texture not found: Cape21_n.dds
Texture not found: Cape21_n.dds
Texture not found: Cape22_n.dds
Texture not found: Cape22_n.dds
D3D11Client::clbkFullscreenMode
Module Sun.dll ............... [Build 111105, API 111105]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
Module Mercury.dll ........... [Build 111105, API 111105]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
Module Venus.dll ............. [Build 111105, API 111105]
Module VenusAtm2006.dll ...... [Build 111105, API 111105]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
Module Earth.dll ............. [Build 111105, API 111105]
Module EarthAtmJ71G.dll ...... [Build 111105, API 111105]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
Module Moon.dll .............. [Build 111105, API 111105]
ELP82: Precision 1e-005, Terms 116/829
Module Mars.dll .............. [Build 111105, API 111105]
Module MarsAtm2006.dll ....... [Build 111105, API 111105]
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 111105, API 111105]
Module Jupiter.dll ........... [Build 111105, API 111105]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
Module Io.dll ................ [Build 111105, API 111105]
Module Europa.dll ............ [Build 111105, API 111105]
Module Ganymede.dll .......... [Build 111105, API 111105]
Module Callisto.dll .......... [Build 111105, API 111105]
Module Satsat.dll ............ [Build 100215, API 100212]
Module Saturn.dll ............ [Build 111105, API 111105]
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 111105, API 111105]
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 111105, API 111105]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
Finished initialising world
Module DeltaGlider.dll ....... [Build 111105, API 111105]
Module LuaInline.dll ......... [Build 111105, API 111105]
Module ShuttleA.dll .......... [Build 111105, API 111105]
Module ShuttlePB.dll ......... [Build 111105, API 111105]
Finished initialising status
Finished initialising camera
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: oapiBlt
Colour key argument not supported by graphics client
---------------------------------------------------------------
Finished initialising panels
D3D11Client::clbkGetViewportSize
--------------------------- WARNING: --------------------------
CWD modified by module OrbiterSound - Fixing.
---------------------------------------------------------------
Finished setting up render state
D3D11Client::clbkPostCreation
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: VESSEL::GetHorizonAirspeedVector
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.
---------------------------------------------------------------
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: VESSEL::GetShipAirspeedVector
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.
---------------------------------------------------------------
D3D11Client::clbkCloseSession
D3D11Client::clbkDestroyRenderWindow
**** Closing simulation session

Apologies for the somewhat random bug reports - I can't pin these issues down to anything specific, and I'm not programming-minded.
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
I'm beginning to think it may be to do with my hardware/drivers (mobile I3/HD 3000). I know Intel aren't renowned for their OpenGL drivers, and I've been messing with driver versions to try to find a decent one that doesn't hobble Google Earth in OpenGL (latest driver kills framerate to 0.2fps from 45) and Celestia (fps c.5) but also works with Orbiter d3D graphics clients. Some driver versions appear worse than others in D3D11 client for producing weird tile effects.
I'm afraid I can't help you much with this case as I can't fix your drivers :) This is definetly a driver/hardware issue, because no one else has reported anything like that... So for now unfortunately I have to put this issue on hold until we'll get same issue happening on someone else's PC too.

A final issue (not sure if it's related) I get texture not loaded warnings for *_n textures which do not exist:
These are just "night" versions for the base object's textures, so if they are not found - the engine simply uses "daylight" versions. I get same messages :) Probably I should remove displaying them to avoid confusion...
 
Joined
Mar 23, 2008
Messages
165
Reaction score
0
Points
16
I'm afraid I can't help you much with this case as I can't fix your drivers :) This is definetly a driver/hardware issue, because no one else has reported anything like that... So for now unfortunately I have to put this issue on hold until we'll get same issue happening on someone else's PC too.

Yes. the only proviso is that I don't have any similar issues on that machine with the D3D9 Client. I do have a different laptop but it has 965 Express graphics and I can't test the D3d11 client at all on it.
 

Archabacteria

New member
Joined
Apr 2, 2010
Messages
41
Reaction score
0
Points
0
orbiter_ng.exe CTDs every time I try to check the box next to 'D3D11 Client'. Doesn't even get to any part where I would consider checking driver issues.
 

RacerX

Donator
Donator
Joined
Jan 3, 2012
Messages
303
Reaction score
9
Points
18
Location
in a field
orbiter_ng.exe CTDs every time I try to check the box next to 'D3D11 Client'. Doesn't even get to any part where I would consider checking driver issues.
Requirements:
OS: Windows Vista 32/64 bit or newer.
Video card: minimum Direct3D 10-compatible, Direct3D 11-compatible recommended as some effects currently work only on Direct3D 11 level hardware
Orbiter: current build is only compatible with 111105 Beta, which can be downloaded from here: http://sourceforge.net/apps/mediawiki/orbitervis/index.php?title=OrbiterPublicBeta

Installation/running instructions:
1. install DirectX 11 June 2010 update. It can be downloaded from here: http://www.microsoft.com/download/en/details.aspx?id=8109
2. download D3D11Client.dll from /Modules/Plugin folder in repository and put it in \Modules\Plugin subdirectory of Orbiter's installation
3. download entire /Modules/D3D11Shaders folder and put it inside \Modules subdirectory of Orbiter's installation.
4. launch Orbiter_ng.exe from Orbiter's root folder, go to "Modules" tab and check D3D11Client - it's under "Graphic engines" category.
5. now go to "Video" tab and set desired window size (currently fullscreen is not supported), then click "D3D11Client Configuration" button and set up client options the way you prefer.
6. After you're done with settings, go to "Scenarios" tab, choose desired scenario and hit "Launch Orbiter" button.
7. Enjoy!
This is the Readme.txt file from here https://bitbucket.org/face/ovp/src/cad0ec5d4114/D3D11CLIENT README.txt although I am not currently using the 111105 beta but some how it works. Maybe it has something to do with me also having the DX9 installed first but it works for me in the 100830 build (current)
 
Last edited:

luki1997a

Active member
Joined
Dec 9, 2010
Messages
314
Reaction score
0
Points
31
Location
Biłgoraj
A little question about tesselation: will landing at surface base require going below this beautiful terrain, which will cause some graphical bugs like in Orulex?
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
A little question about tesselation: will landing at surface base require going below this beautiful terrain, which will cause some graphical bugs like in Orulex?
The original plan was to make a "hard" terrain, so the terrain would behave the way you'd expect from terrain - like holding all physical objects from falling through. But I haven't heard from Glider for a while, so we need to confirm it with him what the state of affairs are at the moment.
 

Glider

Addon Developer
Addon Developer
Joined
Apr 12, 2008
Messages
226
Reaction score
0
Points
16
Location
Saint-Petersburg
A little question about tesselation: will landing at surface base require going below this beautiful terrain, which will cause some graphical bugs like in Orulex?
May be yes, but in the first version I will just make a key to turn terrain and collision detection on and off. Lifting of all surface bases to correct height or making craters like those in orulex will take time. Also, currently I have a collision detection that has a good precision at the detection of surface normal and height, but it still has a very simple response equation that sometimes results in inaccurate collisions. Orbiter doesn't have functions to set position of a vessel, it always loads all landed vessels to 0.0 height and can't lock/unlock vessel positions (so some weird things with touchdown points required for vessel stabilization after landing), also it is completely not possible to get stable at high time accelerations(above x10) collisions when vessel is below 0.0 height. So don't expect something perfect - it is not possible with current orbiter api, and I can't do anything with it.
 

Archabacteria

New member
Joined
Apr 2, 2010
Messages
41
Reaction score
0
Points
0
There appear to be several conditions under which the client will pick its favorite neon or otherwise excessively bright color and apply it to $entity (tested examples: Entirety of Wideawake International, XR-2 Ravenstar- both addons, so I'll have to do more testing to see if it happens with things only in the original program). The following conditions seem to cause it:
Reloading a simulation state after closing it.
Loading a new simulation after closing the previous one (but not the launchpad)
Adding a new vessel/putting it anywhere

All of these involved some combination of the two addons above, so again, I'll try to do some more testing and see if anything like this happens without them.
 

dumbo2007

Crazy about real time sims
Joined
Nov 29, 2009
Messages
675
Reaction score
0
Points
0
Location
India
Great work guys. I got a new laptop today and Orbiter works fine in it. Its the Asus N53SM with Nvidia 630M and optimus: http://www.amazon.com/N53SM-ES72-15...uminum/dp/B007BY57Y2/ref=cm_cr_pr_product_top

I am able to play Orbiter in 1920 *1024 and with at least 2x anti-aliasing in the inbuilt integrated Intel HD 3000 card.

I can choose to start Orbiter using the Intel card or the Nvidia card. If I choose Nvidia then the optimus stuff is supposed to switch on the Nvidia card automatically once an application opens a directx window. I have confirmed using the taskbar indicators provided that this does in fact happen for Orbiter. But then D3D11 client crashes.

I am assuming this is due to the optimus stuff. But I play another game called 0AD which also sees the Nvidia card switch on after the game has begun. But it runs smoothly. Is there any way to get around this issue ?

Note: because of optimus, the card reported may be intel but the nvidia card is used to render into the intel framebuffer. There is some crazy architecture in there.
 
Last edited:

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
I can choose to start Orbiter using the Intel card or the Nvidia card. If I choose Nvidia then the optimus stuff is supposed to switch on the Nvidia card automatically once an application opens a directx window. I have confirmed using the taskbar indicators provided that this does in fact happen for Orbiter. But then D3D11 client crashes.

I am assuming this is due to the optimus stuff. But I play another game called 0AD which also sees the Nvidia card switch on after the game has begun. But it runs smoothly. Is there any way to get around this issue ?

Note: because of optimus, the card reported may be intel but the nvidia card is used to render into the intel framebuffer. There is some crazy architecture in there.
Yes, this issue has been reported earlier, but unfortunately I don't have access to such hardware so I can't debug/fix this issue... Will see if I can find something to figure it out, but as of now there is nothing I can think of that could help...

---------- Post added Apr 18th, 2012 at 08:56 ---------- Previous post was Apr 17th, 2012 at 21:19 ----------

UPDATE:

OK, a bit of googling revealed the root cause of the problem, which is the fact that Optimus is using profiles system to figure out which GPU to use, and there is no programmatic way to force it to use discrete GPU. There are two solutions:
1. First is to force all apps to use discreet adapter. Here is how you can do it:
-Open the NVidia Control panel by right-clicking on an empty area of the desktop and select it from the drop down menu
-If it asks - make sure you're using the advanced view
-Expand 3D Settings in the window on the left and click Manage 3D Settings
-In the main window, select the Global Settings tab
-In the combo box marked Preferred Graphics Processor, expand the box and select your graphics card, instead of Auto-Select
2. Manually create a profile for the [orbiter_dir]\Modules\Server\orbiter.exe executable, which will tell Optimus to use discrete GPU for the orbiter's graphics client. This can be done on the same screen as pervious solution, there is "Add" button. Since I don't have Optimus-based system at my disposal, I can't provide you with more detailed instructions but I'm sure you can figure it out on your own in that dialog.

Please someone who owns Optimus-based laptop try either of these solutions and please let me know if it works or not.
 

Jarod

Member
Joined
Dec 13, 2011
Messages
169
Reaction score
0
Points
16
Please someone who owns Optimus-based laptop try either of these solutions and please let me know if it works or not.

That's what I did, I guess it works, I mean nothing CTD, can you confirm that for now D3D11 is just weird-looking :lol: ?
Mainly, very bright surfaces when objects are exposed to sunlight and stars have all the same apparent magnitude.
 

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
That's what I did, I guess it works, I mean nothing CTD, can you confirm that for now D3D11 is just weird-looking :lol: ?
Mainly, very bright surfaces when objects are exposed to sunlight and stars have all the same apparent magnitude.
Can you please post a screenshot of what it looks like?
 

Jarod

Member
Joined
Dec 13, 2011
Messages
169
Reaction score
0
Points
16
Sure, D3D11 Client :
orbiter2012041818352766.jpg

orbiter2012041818343179.jpg


D3D9 :
orbiter2012041818361718.jpg

orbiter2012041818365166.jpg

The sun is more or less behind the camera for the close shots, that's the worst case scenario.
 
Last edited:

asmi

Addon Developer
Addon Developer
Joined
Jan 9, 2012
Messages
350
Reaction score
0
Points
0
Location
Ontario
Sure, D3D11 Client :

This is HDR at work (specifically tone-mapping). If you don't like that - you can disable it in client's settings. But before you do that - try going outside from brightly-lit room at night and look at the sky immediately after you leave the room. Then wander around in the darkness to allow your eyes to accomodate for the reduced lighting, and look at the sky again - now you'll see it much brighter, and you'll notice that there are much more stars on the sky then you've seen right after leaving the room. Of course this experiment have to be made outside big cities.

Tone mapping is basically simulating human eyes accomodation. That's why grey surfaces of ISS look grey when seen with Earth in the background, and look washed-out white when seen with dark space in the background.
 

Jarod

Member
Joined
Dec 13, 2011
Messages
169
Reaction score
0
Points
16
Screenshots were taken after the light stopped adapting. And stars are always like in those shots, even if I look towards the sun. It doesn't care about my stars settings in "Parameters".
 
Top