New Release D3D9Client Development

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
It doesn't seem able to deal with plant glow and there seem to be some direct sunlight leakage around the lower parts of the payload bay doors. None of the payload bay floodlights are active in the above screenshot, so the bay should be completely dark.

The planet glow is something that can't be shadowed with a techniques like this one. There exists ambient occlusion and light bounce techniques that could deal with the planet glow more realistically, I have been thinking about it but I don't know when it could become reality in the Orbiter.

Some light leaking can happen. I have been trying avoid the other (opposite effect to light leaking) from happening which causes the lit sides of the lit surfaces in a direct sunlight to become shadowed by them selves. (shadow leaking). There is an offset of 1-10cm that shifts the shadows well behind the objects casting the shadows. I have tried to find a balance between the two problems. But nothings perfect and in the screen shot it's not awfully bad.

---------- Post added at 12:29 ---------- Previous post was at 12:24 ----------


How big is the performance hit in a high resolution mesh like that one ?

Does there exists any good polygon reduction techniques ? Technically, we could have a separate high-lod and low-lod models of meshes and only use the high-lod model for meshes near the camera.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Is anyone else seeing massive frame rate losses in D3D9Client 3.0 when on the night side? On the day side everything is perfectly normal but once I'm on the night side, my FPS drops from a rock steady 144 to around 30!

I tried playing around with the various visual effects to no avail so it seems like something inherent to this particular version. It was so bad I had to go back to the 2.2 version.
 

Tim13

Member
Joined
Apr 22, 2018
Messages
119
Reaction score
18
Points
18
Help with installing the D3D9 client for Orbiter 2010P1.

I want to set up a dedicated 2010P1 the SSU project, but for the life of me, I can't get D3D9 working. I've updated all MS stuff, including DirectX.

I guess I don't understand the whole "branch" "trunk" etc.... stuff in the download zip file.

I've unzipped the file 2010P1 into my main orbiter directory with no luck. When I use the .ng exec, I get the "server mode" error. Also, I don't have D3D9 listed in modules, and no video tab.

Why does everything with Orbiter have to be so freaking hard....LOL! I love, and loathe this program at the same time.

Any help would be appreciated.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Help with installing the D3D9 client for Orbiter 2010P1.

I want to set up a dedicated 2010P1 the SSU project, but for the life of me, I can't get D3D9 working. I've updated all MS stuff, including DirectX.

I guess I don't understand the whole "branch" "trunk" etc.... stuff in the download zip file.

I've unzipped the file 2010P1 into my main orbiter directory with no luck. When I use the .ng exec, I get the "server mode" error. Also, I don't have D3D9 listed in modules, and no video tab.

Why does everything with Orbiter have to be so freaking hard....LOL! I love, and loathe this program at the same time.

Any help would be appreciated.
Have you checked this thread: https://www.orbiter-forum.com/showthread.php?t=30336?

And as far as D3D9Client is concerned, it is installed like any other add-on by extracting the zip file contents with the folder structure intact. Please do note that the latest versions posted bu jarmonik is for the 2016 version of Orbiter, not the 2010 version. And "Orbiter_ng" refers to icon with the blue Delta Glider. NG is short for "No Graphics" when means it doesn't have a graphics engine built into it like the regular version. This is the one you need to enable the D3D9Client module in.
 
Last edited:

Tim13

Member
Joined
Apr 22, 2018
Messages
119
Reaction score
18
Points
18
Have you checked this thread: https://www.orbiter-forum.com/showthread.php?t=30336?

And as far as D3D9Client is concerned, it is installed like any other add-on by extracting the zip file contents with the folder structure intact. Please do note that the latest versions posted bu jarmonik is for the 2016 version of Orbiter, not the 2010 version. And "Orbiter_ng" refers to icon with the blue Delta Glider. NG is short for "No Graphics" when means it doesn't have a graphics engine built into it like the regular version. This is the one you need to enable the D3D9Client module in.

Yup, I saw that there are three different versions. I'm trying to get the 2010P1 version working in a clean copy of 2010P1.

I'm using 7zip to install it. Is there a better free .zip utility for Win10?

Installing SSU in Orbiter 2016 is a bit above my pay grade. I don't really understand the whole compiling process. I'll wait for a downloadable version 5 which I understand will be for 2016, and not for 2010?

I really only use Orbiter for the shuttle addons.

Tim
 
Last edited:

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Yup, I saw that there are three different versions. I'm trying to get the 2010P1 version working in a clean copy of 2010P1.
Are you sure that the folder structure is preserved when you extract the files? You're not supposed to end up with a bunch of files in your main Orbiter folder. Everything is supposed to go into their own subfolders. When using the Extract dialog of 7zip, you need to select your main Orbiter folder and 7zip should preserve the folder structure.

I normally just drag&drop the contents from the 7zip window into the appropriate folder in Windows Explorer.
 

Tim13

Member
Joined
Apr 22, 2018
Messages
119
Reaction score
18
Points
18
I'll try dragging and dropping them.

I've even tried manually installing them with no joy.

I'll keep at it for now.....

Thanks again for the help.

Tim
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,907
Reaction score
205
Points
138
Location
Cape
I'll try dragging and dropping them.

I've even tried manually installing them with no joy.

I'll keep at it for now.....

Thanks again for the help.

Tim

Make sure you check the box for D3D9 in the modules category.

---------- Post added at 08:16 PM ---------- Previous post was at 07:58 PM ----------




How big is the performance hit in a high resolution mesh like that one ?

Does there exists any good polygon reduction techniques ? Technically, we could have a separate high-lod and low-lod models of meshes and only use the high-lod model for meshes near the camera.


I'm getting between 40-55 FPS. Very viewable.

I have a middle end graphics card.
 

Tim13

Member
Joined
Apr 22, 2018
Messages
119
Reaction score
18
Points
18
OK, so here's the deal. I was downloading the D3D9 client from CodePlex, which apparently is the source code, and builds, branches, trunks...whatever...lol....of a non-updated version.

I found on page 247 of this thread the latest version zip file for 2010P1. I guess I'm 7zip illiterate because I can't for some reason get it to unzip, and honor paths all the time. I manually installed the D3D9 client from this thread, and now have it working in a clean, and SSU only dedicated version of Orbiter 2010P1.

The reason I needed to do this, is I kept having my older, copied version of 2010P1 freeze after less than one orbit while using SSU. I'm sure it was a conflict of D3D9 with another installed addon, and my dedicated SSU version of 2010P1 seems to be working, without freezing.


Thanks again for helping, it's appreciated.

---------- Post added at 09:15 PM ---------- Previous post was at 09:11 PM ----------

Hi Don,

Are there any plans to upload a stable pre-compiled version of the 4.xx version of SSU? I've read through Dave's tutorial on compiling from sourceforge, and honestly, don't have enough knowledge with those types of programs to feel comfortable compiling a version myself.

BTW, I've been using your shuttle fleet in one form or another for years, and I'm glad to see SSU moving along.

Thanks,

Tim
 

Donamy

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Oct 16, 2007
Messages
6,907
Reaction score
205
Points
138
Location
Cape
Hi Tim,
David413 made the Fleet. I helped with the meshes. I wish I could get in touch with him, because I need the JEMRMS recompiled with Orbiter2016, so it will run. I wish SSU was a simple Zip file instead of all the compiling. I don't have a working version of it. :(
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Is anyone else seeing massive frame rate losses in D3D9Client 3.0 when on the night side? On the day side everything is perfectly normal but once I'm on the night side, my FPS drops from a rock steady 144 to around 30!

I haven't been able to reproduce the problem. Can you confirm that it occurs with stock vessels/scenarios like the "Atlantis docked at ISS". Very common cause for frame rate problems is a lot of errors being printed into the log. So, could you also check the D3D9Client.log for any error messages.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
I haven't been able to reproduce the problem. Can you confirm that it occurs with stock vessels/scenarios like the "Atlantis docked at ISS". Very common cause for frame rate problems is a lot of errors being printed into the log. So, could you also check the D3D9Client.log for any error messages.
Checked the log and no error messages. And it seems to be limited to SSU, I just can't understand why. Is it due to the complexity of the mesh? If so, then Donamy's ISS should be way worse as it is far more complex. And this is just the orbiter.

Here's my PC specs:
CPU: Intel i7 7700K 4.5 GHz
RAM: 2xHyperX Fury 2400 MHz 8 GB DIMMs
GPU: MSI GeForce GTX 1070 8 GB, latest NVIDIA drivers
PSU: Corsair RM650 650 W
O/S: Windows 10 build 1803 (April 2018 Update)
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
Checked the log and no error messages. And it seems to be limited to SSU, I just can't understand why. Is it due to the complexity of the mesh?

It's not a mesh complexity issue, for sure. I found a lead, if I reduce the FoV down to 10deg I get massive drop in frame rate and it's related to reflections. So, somethings gone wrong in there. So, could you check that if disabling reflections and custom cameras restores the frame rate for you ? Or are these problems a separate problems ?
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,917
Reaction score
2,920
Points
188
Website
github.com
Are there any plans to upload a stable pre-compiled version of the 4.xx version of SSU? I've read through Dave's tutorial on compiling from sourceforge, and honestly, don't have enough knowledge with those types of programs to feel comfortable compiling a version myself.

BTW, I've been using your shuttle fleet in one form or another for years, and I'm glad to see SSU moving along.

Thanks,

Tim

We released SSU 4.2 for Orbiter 2010. It's available in Sourceforge (and a link to that is also available in OrbiterHangar).
For Orbiter 2016 we haven't done a release yet... there are still a few items to finish.... but we'll get there.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
D3D9Client2016 R3.0b

Here's a minor update.

What's New:
- Attempt to fix the reported frame rate issue.
- New shadowing option added: "All visible vessels"
- Some other bug fixes.

I tried the method of converting a surface base meshes to a visuals in an attempt to address some shadowing issues. But it doesn't seems to be working because the launch tower isn't a separate mesh, it's just a portion of a bigger mesh.

Kuddel and I have been doing some "merging" between the Beta and 2016 branches and a new D3D9 build for Orbiter beta is coming out soon. Just waiting some news about the frame issue reported earlier.
 

Attachments

  • D3D9Client2016-R3b.zip
    1.7 MB · Views: 105

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,434
Reaction score
689
Points
203
Here's a minor update.

What's New:
- Attempt to fix the reported frame rate issue.
- New shadowing option added: "All visible vessels"
- Some other bug fixes.

I tried the method of converting a surface base meshes to a visuals in an attempt to address some shadowing issues. But it doesn't seems to be working because the launch tower isn't a separate mesh, it's just a portion of a bigger mesh.

Kuddel and I have been doing some "merging" between the Beta and 2016 branches and a new D3D9 build for Orbiter beta is coming out soon. Just waiting some news about the frame issue reported earlier.
I can happily report that the frame rate losses I reported earlier is now a thing of the past!
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,666
Reaction score
795
Points
128
D3D9Client R27.0 for Orbiter Beta r.73

Here's the latest version of the client for Orbiter Beta r.73

This build includes over a year old bug fixes and minor features from 2016 branch. So, might be good idea to keep an eye of any possible issues the changes might have caused. Hopefully none. :thumbup:

Kuddel's been working on something related to a planetary surface labels. :)

Runway-lights has been fixed and should appear correctly now.
 

Attachments

  • D3D9ClientBeta27-forRev73.zip
    1.7 MB · Views: 54

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,917
Reaction score
2,920
Points
188
Website
github.com
Here's the latest version of the client for Orbiter Beta r.73

This build includes over a year old bug fixes and minor features from 2016 branch. So, might be good idea to keep an eye of any possible issues the changes might have caused. Hopefully none. :thumbup:

Kuddel's been working on something related to a planetary surface labels. :)

Runway-lights has been fixed and should appear correctly now.

All looks fine here!!! :hailprobe:

Now if you excuse me, I have to clean all the drool out of the keyboard... :blush:
 

Felix24

Active member
Joined
May 13, 2010
Messages
245
Reaction score
95
Points
43
until I get around to fixing the shader.

Here's a start. This should help efforts to get translucency and self-shadows to work at the same time.

Pros:
1. The translucency effect works now on ISS solar arrays.

Cons:
1. Self-shadowing doesn't work on them yet.
2. This code works only in the D3D9Client2016-R3 version and not not R3b, as there was a change between the two versions to get self-shadowing to work on the ISS solar arrays.
3. Ambient/planet glow doesn't illuminate ISS solar arrays (or any other surface painted by Vessel.fx?)

Code goes into Vessel.fx between lines 127 and 159.
PHP:
	// Compute Transluciency effect --------------------------------------------------------------
	//
	
	if (gCfg.Transx) {

		float4 cTransm = float4(cTex.rgb, 1.0f);

		if (gCfg.Transm) {
			cTransm = tex2D(TransmS, frg.tex0.xy);
			cTransm.a *= 1024.0f;
		}

		float3 cTransl = cTex.rgb;

		if (gCfg.Transl) {
			cTransl = tex2D(TranslS, frg.tex0.xy).rgb;
		}

		// Texture Tuning -------------------------------------------------------
		//
		if (gTuneEnabled) {
			cTransm *= gTune.Transm.rgba;
			cTransl *= gTune.Transl.rgb;
		}
		
		float sunLightFromBehind = saturate(dot(gSun.Dir, nrmW));		
		float sunSpotFromBehind = pow(saturate(dot(gSun.Dir, CamD)), cTransm.a);		
		sunSpotFromBehind *= saturate(sunLightFromBehind * 3.0f);// Causes the transmittance (sun spot) effect to fall off at very shallow angles
				
		cTransl.rgb *= saturate(cSun * sunLightFromBehind);
		
		cTex.rgb += (1 - cTex.rgb) * cTransl.rgb;
		cTex.rgb += cTransm.rgb * (sunSpotFromBehind * cSun);
	}

I hope this makes sense.
 
Top