New Release D3D9Client Development

Hello, sorry if this is something blindingly obvious...

Fresh Orbiter p1 install, unzipped RC18, ran orbiter_ng, enabled the dx9 module then...

With any scenario, I get instant "Orbiter had to close" message, on launching the simulation.
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 D3D9Client.dll ........ [Build 110518, API 101016]
D3D9Client: [DirectX 9 Initialized]

**** Creating simulation session
D3D9Client:WARNING: [Hardware has only a limited non-power of 2 texture support]
D3D9Client:WARNING: [Insufficient Vertex Shader. Attempting software vertex processing...]
D3D9Client:WARNING: [Not a pure device]
D3D9Client:WARNING: [No Hardware T&L]
D3D9Client:WARNING: [No Hardware MipMap auto generation]
D3D9Client:FAIL: [Device Initialization Failed]
D3D9Client: ERROR: Failed to initialize 3D Framework

What am I doing wrong? "dxwebsetup.exe" says I have the latest DirectX.
 
What am I doing wrong?
Nothing, it seems that the hardware specs are insufficient. I don't know what exactly is causing the device creation to fail but D3D9Client won't run without hardware vertex shader anyway.
 
3D stereo viewing problems with RC18

Hi. On 11/22/2010, and in March 2011, I reported on successful tests with D3D9 RC10, Orbiter 2010P1, 3 monitor widescreen, and 3D NVidia shutter glasses for "true" stereo 3D viewing. I tried out RC18 today. Unfortunately, RC18 is not rendering in stereo 3D. I can revert back to RC10, and stereo viewing is okay again, but as soon as RC18 is installed, it's plain 2D. I increased debug level in the D3D9Client.cfg, minimized the test scn file, and reduced Sol.cfg to Earth only, to ease checking and comparing of the D3D9ClientLog.html files - no fault messages to be seen.

There is just one difference in the logs that maybe indicate a problem: with RC10, a [FULLSCREEN MODE] is reported in the log while with RC18 this line is missing, despite RC18 definitely also running in non-windowed mode (note: 3D stereo viewing requires full screen / 120 Hz):
RC10 log snippet:
(230: 20.8 us)(0x1464) ================ clbkCreateRenderWindow ===============
(231: 1296.2 us)(0x1464) Window Handle = 0x1609FC
(232: 1319.5 us)(0x1464) Starting to initialize device and 3D environment...
(233: 1329.1 us)(0x1464) .\D3D9Frame.cpp Line:118 CD3DFramework9::Initialize
(234: 1336.8 us)(0x1464) [VideoConfiguration] Adapter=0, ModeIndex=207
(235: 31122.3 us)(0x1464) MaxTextureBlendStages..: 8
(236: 31152.6 us)(0x1464) MaxTextureWidth........: 8192
(237: 31160.6 us)(0x1464) MaxTextureHeight.......: 8192
(238: 31167.3 us)(0x1464) MaxPrimitiveCount......: 16777215
(239: 31174.0 us)(0x1464) MaxVertexIndex.........: 16777215
(240: 31180.4 us)(0x1464) MaxSimultaneousTextures: 8
(241: 31186.5 us)(0x1464) MaxStreams.............: 16
(242: 31192.9 us)(0x1464) MaxStreamStride........: 255
(243: 31198.9 us)(0x1464) MaxVertexBlendMatrices.: 4
(244: 31205.3 us)(0x1464) MaxVShaderInstrExecuted: 65535
(245: 31211.7 us)(0x1464) VertexShaderVersion....: 0x300
(246: 31217.8 us)(0x1464) PixelShaderVersion.....: 0x300
(247: 31224.2 us)(0x1464) NumSimultaneousRTs.....: 4
(248: 31230.2 us)(0x1464) D3DPTEXTURECAPS_POW2...: 0
(249: 31236.6 us)(0x1464) NONPOW2CONDITIONAL.....: 0
(250: 31244.9 us)(0x1464) [FULLSCREEN MODE] 6124 x 1080, hWindow=0x1609FC
(251: 1957053.9 us)(0x1464) .\D3D9Surface.cpp Line:240 D3D9ClientSurface::MakeBackBuffer
(252: 1957087.7 us)(0x1464) Creating a BackBuffer SURFHANDLE=0x5901798 D3DSURF=0x2CD6820
(253: 1958771.6 us)(0x1464) [3DDevice Initialized]


* RC18 log snippet
(225: 19.36s 1us)(0x17BC) ================ clbkCreateRenderWindow ===============
(226: 19.36s 1355us)(0x17BC) Window Handle = 0x609B8
(227: 19.36s 1400us)(0x17BC) Starting to initialize device and 3D environment...
(228: 19.36s 1418us)(0x17BC) [VideoConfiguration] Adapter=0, ModeIndex=207
(229: 19.36s 2130us)(0x17BC) MaxTextureBlendStages..: 8
(230: 19.36s 2147us)(0x17BC) MaxTextureWidth........: 8192
(231: 19.36s 2156us)(0x17BC) MaxTextureHeight.......: 8192
(232: 19.36s 2163us)(0x17BC) MaxPrimitiveCount......: 16777215
(233: 19.36s 2171us)(0x17BC) MaxVertexIndex.........: 16777215
(234: 19.36s 2178us)(0x17BC) MaxSimultaneousTextures: 8
(235: 19.36s 2195us)(0x17BC) MaxStreams.............: 16
(236: 19.36s 2206us)(0x17BC) MaxStreamStride........: 255
(237: 19.36s 2215us)(0x17BC) MaxVertexBlendMatrices.: 4
(238: 19.36s 2222us)(0x17BC) MaxVShaderInstrExecuted: 65535
(239: 19.36s 2230us)(0x17BC) VertexShaderVersion....: 0x300
(240: 19.36s 2237us)(0x17BC) PixelShaderVersion.....: 0x300
(241: 19.36s 2244us)(0x17BC) NumSimultaneousRTs.....: 4
(242: 19.36s 2252us)(0x17BC) D3DPTEXTURECAPS_POW2...: 0
(243: 19.36s 2259us)(0x17BC) NONPOW2CONDITIONAL.....: 0
(244: 19.81s 444114us)(0x17BC) Creating a BackBuffer SURFHANDLE=0x652B838 D3DSURF=0x5596F20
(245: 19.81s 445753us)(0x17BC) [3DDevice Initialized]

Thanks in advance - Rob
 
Last edited:
RC18 will also write the line "[FULLSCREEN MODE] 6124 x 1080, hWindow=0x1609FC" when running in a true fullscreen mode. You need to uncheck the "Full Screen Window" from the video tab.
 
RC18 full screen mode

You need to uncheck the "Full Screen Window" from the video tab.
Thanks, jarmonik - that solved it :thumbup:.
I did not recognize this option (not present in my previous RC10 installation) and also was confused on its context, compared to the right-hand frame for windowed mode. Sorry !
Regards :tiphat: - Rob
 
Just noticed that there are no runway lights at night. Anyone can confirm that?
 
Just noticed that there are no runway lights at night. Anyone can confirm that?
There are no runway lights in the external D3D7 client either, so this might be not a bug of the graphics client at all.
 
Just noticed that there are no runway lights at night. Anyone can confirm that?
This is a know issue. There is no interface to access in the runway lights in the Orbiter. I have asked about it from Martin and I have received no answer.
 
Ok, I'll temporary fix this issue by setting night ambient light level. Thank's for info.
 
D3D9Client RC19

RC19 is here.

- Some lighting algorithms are rewritten. Should fix the lighting issues between buildings, basetiles and planet surface.
- Fixed missing cloud shadows
- Distance Fog is re-implemented using the programmable pipeline. Fixed function fog doesn't work very well and should be now more easier to implement the atmospheric scattering in the future.
 
Last edited:
Nice, the local lights now have the same strenght than in the inline client ! :thumbup:
 
Hmm, I didn't check if that lighting issue occurs at RC19. This screenshot taken on RC18b. Is it fixed now?
issue.JPG

EDIT:
Checked. No more lighting issue!

And I forgot. Maaaany thanks to you Jarmonik. You improved my fps by 300% :) With all SSU stuff in scenario, I have 18fps instead of 5fps on inline client. AWESOME!
 
Last edited:
And I forgot. Maaaany thanks to you Jarmonik. You improved my fps by 300% :) With all SSU stuff in scenario, I have 18fps instead of 5fps on inline client. AWESOME!

That seems to depend about the OS and hardware and where the bottle-neck is. The frame rates with my Win7/DirectX11 (GTX460) computer are about 500% to 2000% higher than with the inline engine. (Except in the old style panel views those are killing the client because of too many state changes)
 
A little bug since RC19 : The Sun texture sometimes doesn't display when using internal views. If I use the planetarium mode I get the marker for the Sun, but the star is invisible.

However, there is no problem when using external views.
 
A little bug since RC19 : The Sun texture sometimes doesn't display when using internal views. If I use the planetarium mode I get the marker for the Sun, but the star is invisible.

However, there is no problem when using external views.

It must be clipped out by a far plane. I made some modifications in the far plane calculations.
 
A little bug since RC19 : The Sun texture sometimes doesn't display when using internal views. If I use the planetarium mode I get the marker for the Sun, but the star is invisible.

However, there is no problem when using external views.

Hasn't this problem been arleady posted before:hmm: In RC6 or 7?

Btw: great work jarmonik,
 
The current way of displaying DirectX errors in popup windows kills all the joy of testing this client. Would it be possible to log them to a file instead? I keep getting on planetary texture-related errors all the time above Mother Earth, but cannot report them...
 
The current way of displaying DirectX errors in popup windows kills all the joy of testing this client. Would it be possible to log them to a file instead? I keep getting on planetary texture-related errors all the time above Mother Earth, but cannot report them...

It's sad to hear about the errors. The popup windows should be disabled from a release build but since you are seeing them there must be an error in a build configuration. All errors are printed into a file /Modules/D3D9Client/D3D9ClientLog.html. You could zip it and attach into your post. It might reveal the reason for the errors. The D3D9Client is almost fully complete so it should run smoothly without any errors.

But let's look into the log and I'll remove the popup windows.
BTW, are there any textures missing from the scene ?
 
I've seen a lot of errors in the log like "texture_n" not found ; it seems that the Client considers the lack of a night texture (for the surface bases buildings) as an error. And those night textures are described as not mandatory in the Orbiter doc.
 
Back
Top