New Release D3D9Client Development

Biscuit

Member
Donator
Joined
May 12, 2008
Messages
181
Reaction score
0
Points
0
Location
Navarre, FL
This may have been covered ... if so, sorry ... I searched but couldn't find this particular problem.

Been out of orbiter for a while due to real-world issues ... loaded a fresh clean orbiter 100830 load, no add-ons in it at all ... unzipped - copied/pasted rc39 to the orbiter directory.

I don't get the 'video' tab when I select the D3D9 module.

The only thing I get is an error in the Orbiter.log file:

Module D3D9Client.dll ........ [Build 111210, API 101016]
Error loading module Modules\Plugin\D3D9Client.dll (code -1073741795)

I've updated the DirectX redistributables to the latest June2010, loaded the vcredist 2005, 2008, and 2010 ...

Ran Windows update just in case.

Then, removed the orbiter directory and started again fresh with one ... no add-ons.

Still no joy. Was hoping to give this client a try, and thought I'd ask if anyone had run into this particular error, or maybe had an idea what I might have missed.

Thanks.
 

Mandella

Space Cultist
Donator
Joined
Apr 5, 2008
Messages
368
Reaction score
0
Points
0
This may have been covered ... if so, sorry ... I searched but couldn't find this particular problem.

Been out of orbiter for a while due to real-world issues ... loaded a fresh clean orbiter 100830 load, no add-ons in it at all ... unzipped - copied/pasted rc39 to the orbiter directory.

I don't get the 'video' tab when I select the D3D9 module.

The only thing I get is an error in the Orbiter.log file:

Module D3D9Client.dll ........ [Build 111210, API 101016]
Error loading module Modules\Plugin\D3D9Client.dll (code -1073741795)

I've updated the DirectX redistributables to the latest June2010, loaded the vcredist 2005, 2008, and 2010 ...

Ran Windows update just in case.

Then, removed the orbiter directory and started again fresh with one ... no add-ons.

Still no joy. Was hoping to give this client a try, and thought I'd ask if anyone had run into this particular error, or maybe had an idea what I might have missed.

Thanks.


Are you executing orbiter_ng.exe, or the regular orbiter.exe?
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
Module D3D9Client.dll ........ [Build 111210, API 101016]
Error loading module Modules\Plugin\D3D9Client.dll ([highlight]code -1073741795[/highlight])
This looks like STATUS_ILLEGAL_INSTRUCTION error -- 0xC000001D == -1073741795.

What CPU has your computer got (or does the CPU support Streaming SIMD Extensions, and if so, which level)?
 

Biscuit

Member
Donator
Joined
May 12, 2008
Messages
181
Reaction score
0
Points
0
Location
Navarre, FL
I was trying using the orbiter_ng client.

My cpu is an Athlon XP series. Been planning to upgrade ... my home system is getting a bit long in the tooth ...
 

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
My cpu is an [highlight]Athlon XP[/highlight] series.
That's the culprit. D3D9Client RC39 was compiled to use SSE2 instructions, and Athlon XP doesn't support SSE2, just only SSE.
 

Biscuit

Member
Donator
Joined
May 12, 2008
Messages
181
Reaction score
0
Points
0
Location
Navarre, FL
That's the culprit. D3D9Client RC39 was compiled to use SSE2 instructions, and Athlon XP doesn't support SSE2, just only SSE.

Old hardware bites me in the arse again ... definitely time to start budgeting for a system upgrade.

:censored:

Thanks much for the info.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,883
Reaction score
2,135
Points
203
Location
between the planets
In the advanced settings of the video tab in D3D9, I saw the option to LOD surface textures.

Question: are those only high resolution patches, or has the D3D9 client the ability to dynamically load the entire surface texture of a planet?
 

Columbia42

Member
Joined
Dec 4, 2009
Messages
884
Reaction score
0
Points
16
Location
C:\ProgramFiles\Orbiter
I'm not sure if this is the right thread to post this but I have a question about addon compatibility with D3D9. In the addon I'm developing I use clbkPostStep to deploy parachutes for a capsule and change textures to simulate reentry heating. I have it set so that when the atmospheric pressure reaches a certain level the parachute deploys but when I use D3D9 it doesn't work. Is there anything in D3D9 that could affect how the clbkPostStep function behaves?
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
I'm not sure if this is the right thread to post this but I have a question about addon compatibility with D3D9. In the addon I'm developing I use clbkPostStep to deploy parachutes for a capsule and change textures to simulate reentry heating. I have it set so that when the atmospheric pressure reaches a certain level the parachute deploys but when I use D3D9 it doesn't work. Is there anything in D3D9 that could affect how the clbkPostStep function behaves?

Nothing that I am aware of. It could be a problem in the Orbiter_ng, there are a few other reports about odd anomalies under D3D9 those could be also related into the clbkPostStep(). I have no information about the status of the problem. If you have some solid data about the problem that would help to debug the problem then please post it here.

---------- Post added at 22:20 ---------- Previous post was at 22:10 ----------

In the advanced settings of the video tab in D3D9, I saw the option to LOD surface textures.
Question: are those only high resolution patches, or has the D3D9 client the ability to dynamically load the entire surface texture of a planet?

It's a copy from the inline engine. You can find the same options for the inline engine below the Extra Tab. LOD control is only for patches above lvl 8. Levels 1-8 are always preloaded for the entire planet.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,883
Reaction score
2,135
Points
203
Location
between the planets
LOD control is only for patches above lvl 8. Levels 1-8 are always preloaded for the entire planet.

Thanks for the reply. I have another question which is not directly D3D9 related then, but you'll probably be able to answer it: Is there a hook to load patches from memory?
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Thanks for the reply. I have another question which is not directly D3D9 related then, but you'll probably be able to answer it: Is there a hook to load patches from memory?
Sorry, I don't quite understand your question. Could you elaborate a bit.
 

markl316

XR2 Ravenstar Commander
Addon Developer
Tutorial Publisher
Joined
Mar 30, 2008
Messages
450
Reaction score
1
Points
18
Hey, I just downloaded this for the first time, and it's INCREDIBLE. Thanks for your work!!

One quick question: are there plans to implement the ability for OAVE ([ame="http://orbithangar.com/searchid.php?ID=2379"]Orbiter Atmospheric Visual Enhancement V3[/ame]) to work with the D3D9 client? I have it installed, and it shows up with the default graphics client, but not when running D3D9.

Keep up the good work! :cheers:

Also, any plans to implement orulex?
 
Last edited:

orb

New member
News Reporter
Joined
Oct 30, 2009
Messages
14,020
Reaction score
4
Points
0
Sorry, I don't quite understand your question. Could you elaborate a bit.
The question is whether there is a way (most likely other than creating a fork from the graphics client) for not opening texture files for loading patches/tiles, but instead, generating them in memory (without using files) when there is request from Orbiter to load such textures.

I have another question which is not directly D3D9 related then, but you'll probably be able to answer it: Is there a hook to load patches from memory?
A graphics client gets the name from Orbiter, and does the opening, reading to memory and processing of the texture files, so making a new or modifying an existing open source graphics client is the best way to achieve what you want (i.e. to skip the first part with opening and loading files).

One quick question: are there plans to implement the ability for OAVE (Orbiter Atmospheric Visual Enhancement V3) to work with the D3D9 client? I have it installed, and it shows up with the default graphics client, but not when running D3D9.
D3D9Client doesn't use Horizon.dds texture file that is modified by this add-on, but instead it has defined the horizon haze with shaders in "Modules/D3D9Client/HorizonHaze.fx" effect file.
 

markl316

XR2 Ravenstar Commander
Addon Developer
Tutorial Publisher
Joined
Mar 30, 2008
Messages
450
Reaction score
1
Points
18
D3D9Client doesn't use Horizon.dds texture file that is modified by this add-on, but instead it has defined the horizon haze with shaders in "Modules/D3D9Client/HorizonHaze.fx" effect file.

Is there any way to edit this file manually? I mean I can open it in notepad, I'm asking if stuff (RGB values) can be changed.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Is there any way to edit this file manually? I mean I can open it in notepad, I'm asking if stuff (RGB values) can be changed.

Yes, you can edit it manually and DirectX will compile it automatically when starting the Orbiter. You should be able to get the Visual Enchantment to work if you enable the top most line and disable the line at the bottom.

Code:
float4 HazeTechPS(HazeVS frg) : COLOR
{
    //return frg.color * tex2D(Tile0S, frg.tex0); 

    //return float4(frg.color.rgb, frg.color.a*frg.tex0.y*frg.tex0.y);
    return float4(frg.color.rgb*(frg.tex0.y+0.30), frg.color.a*frg.tex0.y*frg.tex0.y);
}


---------- Post added at 14:03 ---------- Previous post was at 13:31 ----------

Thanks for the reply. I have another question which is not directly D3D9 related then, but you'll probably be able to answer it: Is there a hook to load patches from memory?

I suppose the client can pretty easily skip the loading part of the textures. Do you want to leave the textures empty of fill them using some kind of mathematical algorithm, if yes, then how should the client interface with the algorithm ?
 

markl316

XR2 Ravenstar Commander
Addon Developer
Tutorial Publisher
Joined
Mar 30, 2008
Messages
450
Reaction score
1
Points
18
Yes, you can edit it manually and DirectX will compile it automatically when starting the Orbiter. You should be able to get the Visual Enchantment to work if you enable the top most line and disable the line at the bottom.

Hm. I made the function in my horizonhaze.fx look like this:

Code:
float4 HazeTechPS(HazeVS frg) : COLOR
{
    return frg.color * tex2D(Tile0S, frg.tex0); 

    //return float4(frg.color.rgb, frg.color.a*frg.tex0.y*frg.tex0.y);
    //return float4(frg.color.rgb*(frg.tex0.y+0.30), frg.color.a*frg.tex0.y*frg.tex0.y);
}

But I got an error, and here is the orbiter log:

Code:
**** Creating simulation session
D3D9Client: Sytem has XNA math support
D3D9Client: [3DDevice Initialized]
D3D9Client: [Compiling Effects for Shader Model 3.0]
.\D3D9Effect.cpp Line:204 Error:-2147467259 D3DXCreateEffectFromFile(pDev, name, macro, 0, 0, 0, &FX, &errors)
FX Error: C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(322,13): warning X3205: conversion from larger type to smaller, possible loss of data
C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(323,13): warning X3205: conversion from larger type to smaller, possible loss of data
C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(328,13): warning X3205: conversion from larger type to smaller, possible loss of data
C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(351,14): warning X3205: conversion from larger type to smaller, possible loss of data
C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(356,14): warning X3205: conversion from larger type to smaller, possible loss of data
C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(412,18): warning X3205: conversion from larger type to smaller, possible loss of data
C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(413,18): warning X3205: conversion from larger type to smaller, possible loss of data
C:\Users\Owner\Documents\orbiter100830_ultimate\Modules\D3D9Client\D3D9Client.fx(414,15): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(40,9): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(41,9): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(42,9): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(57,17): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(60,5): warning X3205: 'LocalVertexLight': conversion from larger type to smaller, possible loss of data
NormalMap.fx(60,5): warning X3205: 'LocalVertexLight': conversion from larger type to smaller, possible loss of data
NormalMap.fx(64,14): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(70,17): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(142,9): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(143,9): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(144,9): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(149,12): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(150,12): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(153,17): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(154,17): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(166,17): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(178,11): warning X3205: conversion from larger type to smaller, possible loss of data
NormalMap.fx(189,11): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(54,14): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(55,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(59,5): warning X3205: 'LocalVertexLight': conversion from larger type to smaller, possible loss of data
Mesh.fx(59,5): warning X3205: 'LocalVertexLight': conversion from larger type to smaller, possible loss of data
Mesh.fx(59,5): warning X3205: 'LocalVertexLight': conversion from larger type to smaller, possible loss of data
Mesh.fx(65,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(80,26): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(81,26): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(82,31): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(84,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(94,11): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(95,11): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(98,8): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(103,40): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(120,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(122,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(136,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(138,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(154,26): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(155,26): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(158,41): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(168,11): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(169,11): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(170,11): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(228,18): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(229,15): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(241,17): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(242,19): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(263,11): warning X3205: conversion from larger type to smaller, possible loss of data
Mesh.fx(265,21): warning X3205: conversion from larger type to smaller, possible loss of data
HorizonHaze.fx(20,30): error X3004: undeclared identifier 'Tile0S'

Did I disable/enable the wrong lines?
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Did I disable/enable the wrong lines?
No, sorry, my mistake, the declaration Tile0S is obsollete and no longer valid. You need to replace the Tile0S with ClampS like this:

return frg.color * tex2D(ClampS, frg.tex0);

ClampS is declared in D3D9Client.fx and it will defined filter settings and addressing mode for the texture used in the horizon haze.
 

markl316

XR2 Ravenstar Commander
Addon Developer
Tutorial Publisher
Joined
Mar 30, 2008
Messages
450
Reaction score
1
Points
18
No, sorry, my mistake, the declaration Tile0S is obsollete and no longer valid. You need to replace the Tile0S with ClampS like this:

return frg.color * tex2D(ClampS, frg.tex0);

ClampS is declared in D3D9Client.fx and it will defined filter settings and addressing mode for the texture used in the horizon haze.

It looks awesome... thank you so much!! Happy Holidays!!
 
Last edited:

eddievhfan1984

Donator
Donator
Joined
Jul 30, 2011
Messages
46
Reaction score
0
Points
0
Messed up screen info

I've just applied the D3D9 engine. It looks great in general, but I've found a few problems...

1. I can't get the info text in the upper-left and upper-right corners to give me a readout; they look covered over.
2. While using the default DG, my artificial horizon bleeds into my vertical speed indicator, which doesn't even show any numbers.
3. My propellant gauges don't show numbers either, my MFD buttons are blotched out, my HUD has a slight glitch, it's all in the images.

HELP ME!!!

Also, I DID try GDI mode, no joy.
 

Attachments

  • D3D9 problem 1.jpg
    D3D9 problem 1.jpg
    61.6 KB · Views: 47
  • D3D9 problem 2.png
    D3D9 problem 2.png
    326.2 KB · Views: 45

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
That's a hardware or a driver problem. So, the only thing that may help is to download and install the latest drivers for your graphics hardware. I hope that helps.
If that doesn't help then post your Orbiter.log here.
 
Last edited:
Top