New Release D3D9Client Development

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
I know, it's always a risk to settle on one "service" (CodePlex, bitbucket's mercurial support ,...all went the way of the Dodo), but as long as it's open source code, ist's available and it's relatively easy to submit change-requests it is better than nothing.

I guess github is as stable as it gets nowadays, given that git practically won the SCM war and M$ swallowed github for good now. I think I have Asmi's repo cloned somewhere and should be able to put it up on github, if you are willing to take a dive into it.
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
[...]I think I have Asmi's repo cloned somewhere and should be able to put it up on github, if you are willing to take a dive into it.
Sure! I would like to peek into that. If you prefer to just send me the file I can PM you my e-mail address.

I was just about to setup a plain D3D11Client repository on github.

Nothing more than a solution & some code like:
C++:
DLLCLBK void InitModule (HINSTANCE hModule)
{
  // module initialisation
}

DLLCLBK void ExitModule (HINSTANCE hModule)
{
  // module cleanup
}
;)
If I can get a starting idea on how that would work, this can be a (new) start.

Do we have contact to asmi? I would like to ask him/her about this, as soon as I use some of his/her code.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Sure! I would like to peek into that. If you prefer to just send me the file I can PM you my e-mail address.

If you have a working Mercurial client, this would not be necessary, as I still keep a repo with various OVP code up here: https://hg.osdn.net/view/orbitersoftware/OVP . It has all OVP projects (I could get my hands on) in it, so you'd have to find your way to the "D3D11Client" and "D3D11Client - Terrain" branch, respectively.

Do we have contact to asmi? I would like to ask him/her about this, as soon as I use some of his/her code.

I've long lost contact to him, I think he left the community for good.
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
I have a directx_Jun2010_redist.exe (100.273.008 Bytes) with an MD5-sum of 4e41372e8775e8025be013480b0629b3 and
I have a directx_Jun2010_redist.exe (100.271.992 Bytes) with an MD5-sum of 7c1fc2021cf57fed3c25c9b03cd0c31a.
What's valid? :(

The first one was downloaded Nov. 2010, the 2nd is from "Internet Archive", so from Feb. 2021 (more or less ;) )
I have one too (found in Orbiter main folder - I've put it there I don't know when) which is dated December 2016 with this MD5
Code:
7c1fc2021cf57fed3c25c9b03cd0c31a
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
507
Points
113
It has all OVP projects (I could get my hands on) in it, so you'd have to find your way to the "D3D11Client" and "D3D11Client - Terrain" branch, respectively.
Sweet ?
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
I may have the code, was looking at a few months ago purely out of curiosity. I'll look when I'm home later.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,429
Reaction score
680
Points
203
This should be the latest D3D11Client package, including the sources.
 

Attachments

  • OVP-D3D11Client.zip
    4.3 MB · Views: 25

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
Well, the D3D11 client looks like it's GPL2 so that's good news.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,651
Reaction score
785
Points
128
I have a directx_Jun2010_redist.exe (100.273.008 Bytes) with an MD5-sum of 4e41372e8775e8025be013480b0629b3 and
I have a directx_Jun2010_redist.exe (100.271.992 Bytes) with an MD5-sum of 7c1fc2021cf57fed3c25c9b03cd0c31a.
What's valid? :(

I searched those files yesterday from my computer and found nothing. Just the *.cab files in a DX SDK.

By the way,...isn't DirectX 12 a more logical target? Or is that yet another big change in concept?

I would consider Vulkan. But the main problem with any API is Orbiter's dependency of DX7. Lot of things that are done in the Orbiter and in a many add-ons are done in a DirectX 7 mindset. In our case the D3D9ClientSurface class is very much like a DX7 to DX9 wrapper. Without that wrapper the client wouldn't render a single frame of graphics.
I don't know if a DX7 to Vulcan wrapper is doable with a good performance. It would take a lot of team efforts to move from DX7 world to a native Vulkan. It comes down to a little things like not mixing an old fashion GDI and GPU based drawing together.
 

Artlav

Aperiodic traveller
Addon Developer
Beta Tester
Joined
Jan 7, 2008
Messages
5,789
Reaction score
778
Points
203
Location
Earth
Website
orbides.org
Preferred Pronouns
she/her
Feels like Vulkan client would be similar to OpenGL one, and the latter didn't fare all too well.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
By the way,...isn't DirectX 12 a more logical target? Or is that yet another big change in concept?

AFAIK, going from DX11 to DX12 is no big change anymore.
 

Nikogori

Donator
Donator
Joined
Mar 14, 2015
Messages
235
Reaction score
92
Points
43
Location
Osaka
Website
orbinautjp.github.io
Download link for directx_Jun2010_redist.exe is back online again!

The difference is that it now uses SHA-256.

directx_Jun2010_redist_2021_02_21 15_39_23.png
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
Say, is there any plugin to export blender materials to D3D9 materials? As I understand it, they're quite a bit more advanced than the default orbiter stuff.
 

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,271
Reaction score
3,244
Points
203
Location
Toulouse
Much more advanced. Blender uses Principled BSDF shader as default which is the kind of stuff used by Pixar/Disney. The Shader Node Editor is extremely powerful and I don't see how this could be emulated easily in Orbiter.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
I was more thinking the difference between Orbiter native and the D3D9 client, I don't expect the full features of blender materials to be available. However, I think the D3D9 client offers some extended material settings in files that can be supplied to the mesh, or is that "just" normal and specular maps? I guess I should have a look at the documentation again, but I can't seem to find it anywhere on the project site now that I'm looking for it...
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
When PBR materials were added to D3D9, they where based on Blender's Open GL shader. It's a very simple shader, but good enough to get metal reflections.
That's were the .spec texture comes from. At least that's how I remember it :unsure:
Current Blender shaders are indeed more advanced.
 

igel

Addon Developer
Joined
Mar 28, 2008
Messages
252
Reaction score
119
Points
43
Website
www.pin-plus.ca
Just a heads-up on D3D9 materials (reflective ant other) - I found out (hard way) in the recent Vostok update that in Orbiter 2016 they only work in the external view (in 2010, they work both in the external and cockpit views).
 
Top