New Release D3D9Client Development

Axel

Drive Technician
Joined
Dec 31, 2008
Messages
239
Reaction score
0
Points
0
@Jarmonik
Could you be a little more specific. What scenarios won't load ?
I know that many multistage2.dll based scenarios won't load and DeltaGliderIV won't load but what else is having problems to load ?

Nearly every vessel doesn't load, the list would be shorter to write which is loading fine. The XR2 works and Shuttle_A,DG standard and Atlantis.

Here few examples which are not loading and these are not multistage2.

-DeltagliderEX
-Vagaworld
-Bekuo VASIMR
-World of 2001 and 2010
-Starclipper68

What happens when i try to load? It goes into the scenario, but then it comes a message "Orbiter attempt to delete a texture to avoid a CTD" :OMG: the other message is "trys to load a NULL mesh" or so. In both cases it freezes, so i can only use taskmanager for exit.
 
Last edited:

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Here few examples which are not loading and these are not multistage2.
Sorry, I forget to mention spacecraft3.dll and spacecraft2.dll. It is true that most addons are relying on these DLLs and therefore aren't working. The best solution would be that the creator of these DLLs would update the them to support graphics clients. The CTD that is caused by addons using these dlls doesn't occur within a graphics client. Also, a graphics client isn't directly involved in the CTD therefore there is nothing I can do about it except creating a replacement dlls which is unlikely going to happen.

What happens when i try to load? It goes into the scenario, but then it comes a message "Orbiter attempt to delete a texture to avoid a CTD" :OMG: the other message is "trys to load a NULL mesh" or so. In both cases it freezes, so i can only use taskmanager for exit.

The problem is that there is an implementation error in oapiSetTexture(), addons are using this function to replace the default texture with some other one like changing a vessel's skin. When the oapiSetTexture() is called by an addon the Orbiter will send "a message" to graphics client to destroy the existing texture. However, a graphics client will never receive the replacement texture from the Orbiter. This process will leave a mesh without a valid texture and it will cause a CTD. Currently D3D9Client doesn't allow the Orbiter to delete any textures those are used by a mesh.

---------- Post added at 23:38 ---------- Previous post was at 18:31 ----------

Both RC6 and RC5 do not work.
Here is the log with DebugLvl set to 5:

There is something strange going on. Looks like the Orbiter is calling clbkUpdate() before calling clbkPostCreation(). The CTD is obvious if this happens. But why is clbkPostCreation() skipped ?!? I'll try to figure out something...
 

edsupagood

Addon Developer
Addon Developer
Joined
Oct 26, 2010
Messages
135
Reaction score
0
Points
16
There is something strange going on. Looks like the Orbiter is calling clbkUpdate() before calling clbkPostCreation(). The CTD is obvious if this happens. But why is clbkPostCreation() skipped ?!? I'll try to figure out something...

Thanks so much for looking in to it. :thumbup:
 

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 RC7

- The sun issue should be fixed.
- Some VC related fixes are made so pay attention that everything is working well.
- I have added some code that might fix the clbkUpdate() clbkPostCreation() issue.
- AMSO should be working at some level. There is only very little testing done. (Problem: Takes about 5-20 seconds to shutdown a simulation)

The package contains two DLLs activate only one of them. D3D9ClientSL.dll is build by using a static linking and use it only if the other one won't work.

You need a DirectX 9 February 2010 or newer to run D3D9Client
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0cef8180-e94a-4f56-b157-5ab8109cb4f5
.
 
Last edited:

edsupagood

Addon Developer
Addon Developer
Joined
Oct 26, 2010
Messages
135
Reaction score
0
Points
16
Confirming that RC7 has fixed the problem with the clbkUpdate() clbkPostCreation() issue.

Thanks for fixing it :cheers:
 

Turbo

New member
Joined
Jun 19, 2010
Messages
87
Reaction score
0
Points
0
question

Ok, here is RC7

The package contains two DLLs activate only one of them. D3D9ClientSL.dll is build by using a static linking and use it only if the other one won't work.

Im just curious, for someone who knows nothing about directX coding, what is the Static linking you are talkin about? I only ask because using the client, I must use the SL one with my nvidia gtx 465 for it to register my Video tab(and i notice you say only use IF you other does not work.)

Thanks for any info you can give, and sorry for the dumb question :facepalm:

On the side, I can also confirm that the error closing launchpad has been fixed :thumbup:
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Im just curious, for someone who knows nothing about directX coding, what is the Static linking you are talkin about? I only ask because using the client, I must use the SL one with my nvidia gtx 465 for it to register my Video tab(and i notice you say only use IF you other does not work.)

In order to use the non-SL version you need to install VC2008 redistributable (runtime library) package. This is probably the one you need.

The SL version has the required runtime library linked within the dll it-self (notice the larger size of the SL version). The reason why there are two versions is that in the early state of the development of the D3D9Client the non-SL version was more stable than the SL version.
 
Last edited:

luki1997a

Active member
Joined
Dec 9, 2010
Messages
314
Reaction score
0
Points
31
Location
Biłgoraj
Many thanks for RC7! I see, that developing this client is very fast. I check this page everyday. Why the other add-ons such as dgiv doesn't work? I think, there is no diffrence between the original client than yours, except DirectX ver. Can you explain this?
P.S. what about my scene.cpp?
 

Frankynov

Member
Joined
Oct 2, 2008
Messages
39
Reaction score
0
Points
6
In my case, only the SL version works, although I've the latest runtimes on my Windows 7 Desktop (64 bit though).

I've been playing with AMSO and this is gorgeous ! I can at last watch the launch at a minimum of 150FPS in the worse case, so I'm extremly pleased; 2011 is starting greatly !

I know it was a great step in formward but I've noticed some strange lightning problems. Here are some screenshots with all the same settings on a stock dx7 orbiter and your client.
dx7
orbiterstock2.jpg

dx9
orbiterdx92.jpg

dx7
orbiterstock1.jpg

dx9
orbiterdx91.jpg


Btw have you started to look at the atmosphere rendering ? :tiphat:

Best wishes for 2011 !
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
In my case, only the SL version works, although I've the latest runtimes on my Windows 7 Desktop (64 bit though).

But you don't have Visual Studio 2008 / C++ Express 2008 installed. The dynamic module is linked against debug version of C runtime library - MSVCR90D.dll, whereas SL version contains all the C++ debug code included inside of the module. You don't have those libraries, because they aren't redistributable, and no matter how many versions of MSVC++ redistributable packages you have installed, you will still need Visual C++ Express 2008 / Visual Studio 2008 to have those libraries installed in your system.
 

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
RC7 is very very impressive (tried on a Giza DeltaGlider), again thank you v. much. The External MFD, though, has readability problems with the font used - it is slightly blurred. Another problem - the improved runway texture ([ame="http://orbithangar.com/searchid.php?ID=4993"]New Runway Texture - Fix[/ame]) doesn't show up.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
- Some VC related fixes are made so pay attention that everything is working well.
.
I have found a problem with this. The payload bay is no longer visible from any of the aft flightdeck view positions. This is with SSU.

---------- Post added at 09:17 PM ---------- Previous post was at 06:19 PM ----------

Does the D3D9 client make use of the AtmAttenuationAlt parameter? I'm asking because the times of sunrise/sunset between inline and the D3D9 client is different. The AtmAttenuationAlt parameter was introduced to solve this particular problem of high altitude orbiting spacecrafts experiencing sunset too early when the sun was still above the atmosphere and sunrise when the sun was still being blocked by the atmosphere.
 
Last edited:

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
I have found a problem with this. The payload bay is no longer visible from any of the aft flightdeck view positions. This is with SSU.
---------- Post added at 09:17 PM ---------- Previous post was at 06:19 PM ----------
Does the D3D9 client make use of the AtmAttenuationAlt parameter? I'm asking because the times of sunrise/sunset between inline and the D3D9 client is different. The AtmAttenuationAlt parameter was introduced to solve this particular problem of high altitude orbiting spacecrafts experiencing sunset too early when the sun was still above the atmosphere and sunrise when the sun was still being blocked by the atmosphere.

The AtmAttenuationAlt parameter isn't currently used by the D3D9Client. This issue should automatically take care of it-self when the atmospheric scattering and new lighting environment is implemented. The payload bay issue will be fixed in RC8

---------- Post added at 00:59 ---------- Previous post was at 00:54 ----------

RC7 is very very impressive (tried on a Giza DeltaGlider), again thank you v. much. The External MFD, though, has readability problems with the font used - it is slightly blurred. Another problem - the improved runway texture (New Runway Texture - Fix) doesn't show up.

The improved runway texture is working well here. Can't reproduce. Could you check it again.

I haven't detected anything strange in External MFD. It is a bit blurred sometimes depending about the size of the display. Usually the quality is about the same as with the glass cockpit and 2D panel MFD. If it is worse than this could you post a screenshot.
 

edsupagood

Addon Developer
Addon Developer
Joined
Oct 26, 2010
Messages
135
Reaction score
0
Points
16
Why is it when I press F4 to load menu or Ctrl + F4 to load the Custom Functions window, it loads but the window turns white and I get "Connection to Direct3DDevice is lost Exit the simulation with Ctrl+Q and restart."

Why does this happen?
 

Attachments

  • error.jpg
    error.jpg
    65.2 KB · Views: 15

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Btw have you started to look at the atmosphere rendering ? :tiphat:

Yes, I have. It's not as easy to implement as I hoped and it seems to effect in a bit of everything and some codes must be completely rewritten and that will take some time. I was hoping to get the D3D9Client to better shape before focusing into the scattering issue. Also, I'll address all lighting related issues during that process. I know that there are base tile and vessel related lighting problems but they can wait a little.

---------- Post added at 01:25 ---------- Previous post was at 01:09 ----------

Why is it when I press F4 to load menu or Ctrl + F4 to load the Custom Functions window, it loads but the window turns white and I get "Connection to Direct3DDevice is lost Exit the simulation with Ctrl+Q and restart."

Why does this happen?

I don't know. Nothing like that should happen when pressing F4. The only things those are known to cause "a lost device" is Alt-Tabing in a fullscreen mode and pressing Ctrl-Alt-Delete. D3D9Client can't recover the simulation when that happens. As far as I can tell the DX10 doesn't have this problem anymore but it won't help right now.

Could you tell something about the OS and display hardware you have ?

Does anyone know what might cause a lost device when a window appears ?
 

edsupagood

Addon Developer
Addon Developer
Joined
Oct 26, 2010
Messages
135
Reaction score
0
Points
16
I have Windows 7 32-bit and I run it on nVidia 9500gt, I only get the error in fullscreen mode "1920 x 1080". In window mode everything works fine.

---------- Post added at 01:12 AM ---------- Previous post was at 01:08 AM ----------

I figured it out! I have dual monitors, when I disconected one, problem went away. :)
 
Last edited:

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 RC8

- Payload bay issue is fixed.
- The *.fx scripts and the D3D9ClientLog.html are moved from the root folder to Modules/D3D9Client/ so, clean up the files from the root.

Note:
D3D9Client.dll is now linked with release runtime libraries.
D3D9ClientSL.dll is using a static linking with debug runtime libraries.

The version of SSU that I have (v1.25 from Orbithangar) doesn't run with the release build.

I have noticed that a use of MemAllocLogic=1 will reduce the frame rate to half so it's not recommended to used that. I have introduced a new configuration parameter "DisableDrvMgm" that could help with insufficient video memory issues. Valid values are "0" and "1". DirectX documentation description of the feature is "Direct3D will manage resources instead of the driver. Direct3D calls will not fail for resource errors such as insufficient video memory." The error code of insifficient video memory is "-2005532292".

It's a bit difficult to locate the latest version from this thread so, if everything is working well in the RC8 it might be good idea to launch a new thread for the releases.

You need a DirectX 9 February 2010 or newer to run D3D9Client http://www.microsoft.com/downloads/e...7-5ab8109cb4f5
 
Last edited:

Robrutus

New member
Joined
May 16, 2010
Messages
3
Reaction score
0
Points
0
Function key menus do not appear.

Sorry, this may sound stupid but the function key menus do not appear when pressed;using ctrl-alt-del shows they appear underneath the main window. Is there a setting I may have missed somewhere. Btw, a brilliant work.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
- Payload bay issue is fixed.

The version of SSU that I have (v1.25 from Orbithangar) doesn't run with the release build.
PLB view issue confirmed fixed, no CTDs with the release build with the latest In-work version of SSU. Rock-steady and very good FPS.

Great work once again.
 
Top