New Release D3D9Client Development

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Would it be possible to add some dynamic pressure effects through the client ? A white-ish transparent shell with a moving texture around the mesh to simulate condensation effects that happen when the aerodynamic load is high.
D-Q0N9aXkAI8WR5.jpg
Are there any good reallife videos showing these effects, I would need to study them and think about the rendering options.
 

Marg

Active member
Joined
Mar 20, 2008
Messages
484
Reaction score
68
Points
28
Haven't installed new client yet.... Are there changes to sunrise\sunset atmosphere on Earth?
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,931
Reaction score
2,943
Points
188
Website
github.com
About the "vapor condensation behind a shock wave" effect, IMO the graphics client should only provide the tools for it's representation. If this effect is to be made with a conical mesh, made up of several axial segments so UV mapping and alpha can be played with, then the graphics engine should only worry about sliding the UV coordinates and having alpha lower along a mesh axis (things it can probably do much faster than "by hand").
It should be the user's job to make the conical mesh and texture (each rocket has different shapes), and the physics engine should handle when it shows up (like the reentry visuals).

Just my <insert 2 cents smiley>
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
D3D9Client 4.15 is out
  • The sunset color issue should be fixed.
  • Local lights can now effect in meshes in environment maps.
  • Irradiance map is now integrated using a brute force. (no frame-rate impact) (new shaders only at a moment)
  • Semi-directional Ambient light can now bounce from vessel to vessel. (new shaders only at a moment)
  • The "Heat Map" is made available for the old shader.
  • Lighting control sliders added to Graphics Controls.
    • Sunlight intensity
    • Indirect ambient light intensity (i.e. irradiance)
    • Local lights intensity limit at "point blank range"
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
@jarmonik: you can see it there, happens on the most 'exposed' surfaces (the less 'angled').
You mean the effects that occur between 0:50 and 1:10 in video's timescale.

So, what would be needed:
  • User supplied mesh and texture like ( 256 x 1024 )
  • Dynamic Pressure for Start and End
  • Visible texture section length in pixels like 128 for ( 256 x 1024 ) texture. Meaning that 256x128 would be visible at a time.
  • Texture roll/slide speed pixels/sec for the Y-coordinate
  • VECTOR3 giving the reference/origin point (could this also be used to move user supplied mesh on the right place ?)
  • VECTOR3 pointing to the direction of slide and the length would control an alpha fade effect.
  • Alpha fade function ? Maybe the following would be sufficient: alpha = pow(distance, x), where "x" would be user supplied variable and "distance" is in range 0.0 to 1.0

Anything else in mind ?
The UV range in the mesh itself could be 0 to 1 for both axies. The client could rescale the UV range as needed.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,439
Reaction score
689
Points
203
Speaking of conical visualizations, how about some improvements to the exhaust plumes in a vacuum? I've been studying these recently and they should be rather easy to implement. Their visibility all depends on the relative sun or light angle. They're most visible at a high relative light angle (90° +/- ~10°s) with the visibility decreasing rapidly the farther away from a pure perpendicular angle you get.

Another factor is the actual thruster level. The more open a valve is the wider the plume is. I've attached two screenshots of the STS-122 External Tank venting gaseous hydrogen from the intertank vent. The first image shows venting at a partial vent valve opening while the second shows venting from a fully open vent valve.
 

Attachments

  • ET_GH2_vent_partial.jpg
    ET_GH2_vent_partial.jpg
    52.2 KB · Views: 9
  • ET_GH2_vent_full.jpg
    ET_GH2_vent_full.jpg
    107.5 KB · Views: 9

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
Kuddel, There is something very wrong in the 1382 commit. I am not an expert on SVN, so, how is one supposed to undo a commit ?

  • DeltaGliders virtual cockpit is completely broken, Broken Horizon, switches/animations not moving, pilots head visible from inside, texts and labels missing, etc...
  • The "Pick" feature isn't working
  • Lots of CTDs

How does the "nullptr" differ from regular "NULL" we have use so-far ?
That's odd...
I see that you've already undone the changes (y)
I only checked with Visual Studio 2017, so maybe there is a difference there...
As those changes were only code-cleanups and no functional changes, it's better to leave them out for now.

The nullptr is just a more type-save null-pointer.
Standard NULL is defined as #define NULL 0, which makes is indistinguishable from integer zero (0).

I doubt that this is the reason for any of the issues - I would blame a 'const' on one method that isn't really 'const' :/
I'll take a look and try to test much more thoroughly, now that I know some of the "effects".
Sorry for the inconvenience.
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
@jarmonik : I've commited r1387, which should not create those issues...[*]
I'm still not sure what happened, as I could not see any issues even on r1382 ?‍♂️
I left the usage of NULL definition instead of nullptr, just to be save ?

/Kuddel

[*] Tested: DeltaGliders virtual cockpit working; The "Pick" feature is working; etc.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Ok, no problem. Things like this tend to happen it's kinda part of the job.

I went back to 1382 and took a screen shot from the DeltaGlider VC ("Docked at ISS" scenario.) So far, I have found no reason for the failures.
 

Attachments

  • Shot.jpg
    Shot.jpg
    225.1 KB · Views: 22

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
@jarmonik : I've commited r1387, which should not create those issues...[*]
I'm still not sure what happened, as I could not see any issues even on r1382 ?‍♂️
I left the usage of NULL definition instead of nullptr, just to be save ?

/Kuddel

[*] Tested: DeltaGliders virtual cockpit working; The "Pick" feature is working; etc.

Yes, I can confirm that 1387 seems to be running fine. Couldn't detect any issues in a test run.
If the "nullptr" doesn't cause any issues on VS2017 then it's likely VS2015 related issue with the "nullptr".
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
Out of curiosity I also tried "Docked at ISS" scenario...no issues,
Only if I change the default shader for the cockpit_vc to any other than "PBR (Old)" the instruments don't show (blank screen).
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
Are there any good reallife videos showing these effects, I would need to study them and think about the rendering options.
Trying to find those seem harder than it sounds...
This one (starts around 2:30 minutes in) is "a classic" one
 
Last edited:

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
Finally found one from the Shuttle (y)
(starts around 5:50 minutes in)

This one is nice but the perspective is sub-optimal ;)
(starts around 40 soconds in)
 

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,290
Reaction score
3,258
Points
203
Location
Toulouse
So, what would be needed:

Seems good to me yes !

Also is there currently a way to dynamically set the transparency (alpha channel) of a mesh in Orbiter D3D9 ? That one would really help me with engine exhaust effects and such things (because, IMHO, the glorious days of 2D exhaust textures have come and gone). Probably can be done with the current D3D9 client but I have no idea how.
 
Top