New Release D3D9Client Development

Would it be possible to implement a mesh debugger that would allow you to check the vertices/faces in-sim?

I don't know about the debugger but I have added an error check for an invalid vertex index. Error is printed in the log. GPU don't care much about invalid data but the vertex data must be processed by CPU to build the tangent space matrices for normal mapping and that's where the CTD occured. I am not aware of any other meshes having the same problem as SSU/Orbiter.msh.

EDIT: It should be possible to delete those lines and reduce the triangle count by 2
 
Last edited:
EDIT: It should be possible to delete those lines and reduce the trianle count by 2
Well, this is just a workaround and not a good one as the source will still produce the problem over and over. It's like putting and band aid on a broken leg.

One way could be for D3D9Client to process the error but not CTD. Instead it is retained and could be ID'd through a special option in the D3D9Client Debug Control. There's already an option like this in this Misc section, "Identify render target conflicts".
 
Next release won't CTD because of this. I'll set all three indices to zero. If there is an invalid one among them.
 
Last edited:
Here is RC2 for testing. It should work pretty well. Reflection model has changed a bit so existing configurations may not work at all. Fresnel reflections will be disabled if all "reflect" material property fields are zero. So, atleast a non zero value like 0.01 is required to enable fresnel refelections. Seting up a proper window reflection may be a little tricky. Might be a good idea to define the minimum reflection "offset" by using the reflect property.

Edit: Specular map is now modulated by specular color.
 

Attachments

Last edited:
What does this mean?
Code:
D3D9Client Build [Mar 12 2013]
Exception Code=0xC0000005, Address=0x04A4D96A
EAX=0x00000048 EBX=0x11A54868 ECX=0x00000012 EDX=0x00000000 ESI=0x00000000 EDI=0x297F4C20 EBP=0x009FFBB8 ESP=0x009FFBB0 EIP=0x04A4D96A
D:\Program Files\Orbiter\Modules\Plugin\D3D9Client.dll EntryPoint=0x04A5177B, Base=0x049F0000, Size=1445888
Exception in clbkRenderScene()
!!! Abnormal Program Termination !!!
It happens every time, when North America is in frame.
 
What does this mean?
It says what the program was doing before it crashed.

Here is a debug build of the client. Could you install the RC2 from above and then replace the D3D9Client.dll with this one in the package and then reproduce the problem and re-post the data from the debug build in this thread. I should be able to track it down and fix it.

If anyone else is getting the same error report then reproduce the problem, what ever is producing it, with this build and post the data over here.
 

Attachments

Edit: Specular map is now modulated by specular color.

What does this change fix? Shouldn't there be a 1:1 relationship between the specular map and the result, without a material specular color modifying it? The same way that the reflection map is handled without needing a material reflection color.

In the end, I guess the only thing I need to do is make sure specular color and power are set to 1,1,1,255 and diffuse is set to 1,1,1,1. I'm aware of n122vu's issue and I'm glad it's fixed, but I'm still a bit clueless. :idk:

Thank you for the ability to put normal maps in the base tiles. I've been thinking of trying specular maps (for lakes and ponds) and light maps (for night lights). KSC could be very interesting.

On a different subject,

R10 will be probably the final version of D3D9Client. I don't have any motivation to continue my work with the client, it's a lost cause. There are just too many severe unsolved problems with the orbiter it self and older addons. It might be better to create a new open sourced space flight simulator project, such project might actually have a future.

What are some areas you want to explore which Orbiter won't allow?
 
Last edited:
@ Jarmonik

First of all, a huge thank you for all your efforts in creating this beautiful D3D9 Client, I love the planet glow feature and the reflection (like on the Apollo CM) look absolutely brilliant, in fact it resparked my fascination for Project Apollo.

Seeing you announced to discontinue further development due to unsolved Orbiter core issues makes me a bit sad. I was really hoping we would see the atmospheric rendering á la Eric Bruneton / Proland and further down the road maybe even the Lommel-Seeliger lighting model (like in SpaceEngine), it makes the planets and airless bodies (like the moon) look incredibly more realistic.

I wish there was a way I could keep you motivated?! (Donation? *cough*)

Again, thanks for all the hard work. :tiphat:
:cheers:
 
Here is a debug build of the client.
Here is log:
Code:
D3D9Client Build [Mar 31 2013]
Exception Code=0xC0000005, Address=0x04AB748A
EAX=0x00000048 EBX=0x00000000 ECX=0x00000012 EDX=0x00000000 ESI=0x00000000 EDI=0x297058C0 EBP=0x009FF9DC ESP=0x009FF9D4 EIP=0x04AB748A
D:\Program Files\Orbiter\Modules\Plugin\D3D9Client.dll EntryPoint=0x04AC4BF0, Base=0x04A00000, Size=2506752
Exception in clbkRenderScene()
!!! Abnormal Program Termination !!!
 
KSC with normal maps.

When you create your own normal maps, make sure "invert y-axis" (or the equivalent) is selected.

When I create normal maps for a large number of files, I first convert all the original files from .dds to .bmp using a batch file converter. Then, I process the files using GIMP with the normalmap and bimp plugins (bimp does the batch processing). Then I convert the resulting files to 24-bit .dds files again using a batch converter.
 

Attachments

  • KSCnorms1.jpg
    KSCnorms1.jpg
    260 KB · Views: 124
  • KSCnorms2.jpg
    KSCnorms2.jpg
    190.2 KB · Views: 113
How's the frame rate ?
 
How's the frame rate ?

For a given camera view looking down on KSC,

Setup A, about 10% loss: ~185fps with normal maps v. ~205fps without.
Setup B: no loss, ~75fps
Setup C: about 7% loss: ~46fps with, ~49fps without

Setup A:
Windows 7 Home Premium 64-bit
Intel Core2 Duo E6750 2.66GHz
4GB RAM
nVidia GeForce 8800 GTS

Setup B/C:
Windows 7 Home Premium 64-bit
Lenovo IdeaPad u460 laptop
Intel Core i5 M480 2.66GHz
8GB RAM
(B) Intel graphics/(C) nVidia GeForce 305M

Yes, you read that right: on my laptop, I get faster framerates in D3D9 by using Intel Graphics than using nVidia.

Bottom line (for given hardware): negligible frame rate hit compared to the increase in realism.
 
I keep getting a CTD.
Code:
911: 775.21s 6675842032us)(0x1E90)[ERROR] Orbiter Version 100830
(912: 775.21s 6675842382us)(0x1E90)[ERROR] D3D9Client Build [Mar 12 2013]
(913: 775.21s 6675842530us)(0x1E90)[ERROR] Exception Code=0xC0000005, Address=0x00456CF4
(914: 775.21s 6675842656us)(0x1E90)[ERROR] EAX=0x00000000 EBX=0x00000000 ECX=0x00000004 EDX=0x00000000 ESI=0x13D43588 EDI=0x00000000 EBP=0x009FF9D0 ESP=0x009FF940 EIP=0x00456CF4
(915: 775.21s 6675842864us)(0x1E90)[ERROR] C:\Users\James Seegert\Documents\Pete's Documents\Orbiter 2010P1\orbiter2010P1.exe\modules\server\orbiter.exe EntryPoint=0x004ACFAC, Base=0x00400000, Size=2097152
(916: 775.23s 6675854521us)(0x1E90)[ERROR] D3D9Client::RenderWndProc(hWnd=0x405C0, uMsg=675, wParam=0, lParam=0)
(917: 775.35s 6675979590us)(0x1E90) ORBITER SCENARIO SAVED SUCCESSFULLY (D3D9ClientRescue.scn)


---------- Post added 04-10-13 at 03:14 PM ---------- Previous post was 04-09-13 at 09:12 PM ----------

I keep getting a CTD.
Code:
911: 775.21s 6675842032us)(0x1E90)[ERROR] Orbiter Version 100830
(912: 775.21s 6675842382us)(0x1E90)[ERROR] D3D9Client Build [Mar 12 2013]
(913: 775.21s 6675842530us)(0x1E90)[ERROR] Exception Code=0xC0000005, Address=0x00456CF4
(914: 775.21s 6675842656us)(0x1E90)[ERROR] EAX=0x00000000 EBX=0x00000000 ECX=0x00000004 EDX=0x00000000 ESI=0x13D43588 EDI=0x00000000 EBP=0x009FF9D0 ESP=0x009FF940 EIP=0x00456CF4
(915: 775.21s 6675842864us)(0x1E90)[ERROR] C:\Users\James Seegert\Documents\Pete's Documents\Orbiter 2010P1\orbiter2010P1.exe\modules\server\orbiter.exe EntryPoint=0x004ACFAC, Base=0x00400000, Size=2097152
(916: 775.23s 6675854521us)(0x1E90)[ERROR] D3D9Client::RenderWndProc(hWnd=0x405C0, uMsg=675, wParam=0, lParam=0)
(917: 775.35s 6675979590us)(0x1E90) ORBITER SCENARIO SAVED SUCCESSFULLY (D3D9ClientRescue.scn)
Ok,this problem seems to be gone with the D3d9 client 11 R2,but I'll keep you posted if it happens again.Thanks

---------- Post added at 04:25 PM ---------- Previous post was at 03:14 PM ----------

OK,everything works great so far,but I did notice that the runway lights can't be seen as far away as they could in earlier builds, is there a way to adjust this?

---------- Post added at 11:27 PM ---------- Previous post was at 04:25 PM ----------

I keep getting a CTD.
Code:
911: 775.21s 6675842032us)(0x1E90)[ERROR] Orbiter Version 100830
(912: 775.21s 6675842382us)(0x1E90)[ERROR] D3D9Client Build [Mar 12 2013]
(913: 775.21s 6675842530us)(0x1E90)[ERROR] Exception Code=0xC0000005, Address=0x00456CF4
(914: 775.21s 6675842656us)(0x1E90)[ERROR] EAX=0x00000000 EBX=0x00000000 ECX=0x00000004 EDX=0x00000000 ESI=0x13D43588 EDI=0x00000000 EBP=0x009FF9D0 ESP=0x009FF940 EIP=0x00456CF4
(915: 775.21s 6675842864us)(0x1E90)[ERROR] C:\Users\James Seegert\Documents\Pete's Documents\Orbiter 2010P1\orbiter2010P1.exe\modules\server\orbiter.exe EntryPoint=0x004ACFAC, Base=0x00400000, Size=2097152
(916: 775.23s 6675854521us)(0x1E90)[ERROR] D3D9Client::RenderWndProc(hWnd=0x405C0, uMsg=675, wParam=0, lParam=0)
(917: 775.35s 6675979590us)(0x1E90) ORBITER SCENARIO SAVED SUCCESSFULLY (D3D9ClientRescue.scn)

---------- Post added 04-10-13 at 03:14 PM ---------- Previous post was 04-09-13 at 09:12 PM ----------

Ok,this problem seems to be gone with the D3d9 client 11 R2,but I'll keep you posted if it happens again.Thanks

---------- Post added at 04:25 PM ---------- Previous post was at 03:14 PM ----------

OK,everything works great so far,but I did notice that the runway lights can't be seen as far away as they could in earlier builds, is there a way to adjust this?
Disregard the runway lights,I figured it out.Thanks
 
I was trying out the excellent Vostok add-on ([ame="http://www.orbithangar.com/searchid.php?ID=5126"]http://www.orbithangar.com/searchid.php?ID=5126[/ame]), and when I tries to activate the B3OP module plug-in, the Orbiter Launchpad stopped responding. This does not happen in the in-line client. Anyone knows why?
 
D3D9Client/transx bug ?

Does anyone have the D3D9Client/transx bug ?

I mean the white Earth disk instead of the empty circle in stage 1, View: Escape Plan.
 
old??

I am using 3.14.0.3 - it is, as I thought, the newest one.
The version number doesn't matter. It wasn't changed by the people who added fixes. You can have version 3.14.0.3 released before Orbiter 2010, next version 3.14.0.3 with final changes for Orbiter 100606, or newer version 3.14.0.3 with changes for Orbiter 100830, even newer version 3.14.0.3 released with Orbiter beta 100905 with fixes for pen/brush allocation, or version 3.14.0.3 with the fix you need, by atomicdryad from Jan. 2011.

Check the transx.dll module build date in Orbiter.log.
 
Back
Top