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
Phew! I managed to merged the changes from branch/2016/ to trunk/, but that was a big mess!
The trunk/ HEAD compiles, links & runs :thumbup:,
but the planetary elevation is not working correct :thumbsdown:
I think I know what the issue might be... Fixed.

Side note:
I will probably exchange all the "for each (... in ...)" code by range-based for statements, as the former is not C++ standard (as the documentation notes).
Not that we like D3DClient to be cross-compile-able, but still...:thumbup:

Sounds good, Do these "range-based" loops support erasing/deleting elements from the array being browsed through ?

Like:
for each (auto x in list) {
if (x.var == 0) list.remove(x);
}

---------- Post added at 18:53 ---------- Previous post was at 18:35 ----------

Trying the build the last D3D9Client sources I get this when the script gets to the GenericCamera MFD, this is with the latest trunk revision (r. 1273):

Code:
c:\d3d9client\orbitersdk\samples\genericcamera\mfd.cpp(389): error C3861: '_FVECTOR4': identifier not found [C:\D3D9Client\Orbitersdk\samples\GenericCamera\GenericCamera.vcxproj]
c:\d3d9client\orbitersdk\samples\genericcamera\mfd.cpp(390): error C3861: '_FVECTOR4': identifier not found [C:\D3D9Client\Orbitersdk\samples\GenericCamera\GenericCamera.vcxproj]
c:\d3d9client\orbitersdk\samples\genericcamera\mfd.cpp(391): error C3861: '_FVECTOR4': identifier not found [C:\D3D9Client\Orbitersdk\samples\GenericCamera\GenericCamera.vcxproj]


This should be fixed now from the "trunk".


Code:
if (bNightVis) 
{               
pSkp3->SetBrightness(&FVECTOR4(0.0, 4.0, 0.0, 1.0));          
pSkp3->SetRenderParam(SKP3_PRM_GAMMA, &FVECTOR4(0.5f, 0.5f, 0.5f, 1.0f));            
pSkp3->SetRenderParam(SKP3_PRM_NOISE, &FVECTOR4(0.0f, 0.3f, 0.0f, 0.0f));           
}
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,443
Reaction score
693
Points
203
I can confirm that he GenericCamera MFD build issue is now fixed and that the script generates a package. However, D3D9Client itself isn't too happy anymore. One major issue is that when viewing terrain up close, there's a severe frame rate reduction. This seems to be loading related as it only lasts for about 20 seconds or so (and no, I don't have tile mip-mapping enabled so that isn't it).

Another is that rendering of the FDAI ("eight-ball") in SSU is broken which hasn't been for a long time in D3D9Client as well there's severe flickering of the PLB flood-lights, almost to the point of epilepsy seizure inducing. None of these issues were present before.

---------- Post added at 08:04 PM ---------- Previous post was at 06:41 PM ----------

Scratch the terrain-causing-frame-reduction-issue as I don't have it anymore. Must have been something transient as it's completely gone now. The flickering lights remain however, even on the stock DG.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Another is that rendering of the FDAI ("eight-ball") in SSU is broken which hasn't been for a long time in D3D9Client as well there's severe flickering of the PLB flood-lights, almost to the point of epilepsy seizure inducing. None of these issues were present before.


So, these are broken from current Orbiter Beta build and 4.1 for Orbiter 2016 is still running fine ? right ?
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,443
Reaction score
693
Points
203
So, these are broken from current Orbiter Beta build and 4.1 for Orbiter 2016 is still running fine ? right ?
Not sure on Orbiter 2016 part as I only have an installation with the Orbiter beta.
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
I think I know what the issue might be... Fixed.
Someone earned his karma points :thumbup:

Sounds good, Do these "range-based" loops support erasing/deleting elements from the array being browsed through ?

Like:
for each (auto x in list) {
if (x.var == 0) list.remove(x);
}
They do, but one might have to be a bit more expressive/careful then. I haven't digested that scenario fully, so:
I'll probably keep those loops, that remove elements during iterations, as they are now :).

---------- Post added at 22:49 ---------- Previous post was at 21:36 ----------

I must correct my last statement: Even the "for each" construct does not allow for deletion!
See the remarks here.
So in those cases I'll might to convert it to std::remove_if or a plain old for loop.
 

jalexb88

Addon Developer
Addon Developer
Joined
Aug 11, 2008
Messages
152
Reaction score
154
Points
43
Location
Canada
Today I was driving the lunar rover in NASSP 8.0 Beta on Apollo 17, when I switched views back to my EVA astronaut, I suddenly got some strange "shimmer" showing on him. I then switched to the LM and the same thing:

Screenshot%202020-04-11%2018.41.53.png


I tried re-installing D3D9 client but the issue persists, also if I turn off self-shadows, the shimmer is gone. This is a weird one because I have not made any changes to Orbiter for a few months now and have been using the latest Orbiter Beta and D3D9 client (D3D9ClientBeta29.0-forBETA r90(r1247)) Here was my D3D9 settings when the issue happened:

Screenshot%202020-04-11%2019.14.01.png


Any Ideas?

EDIT: So I checked my previous quicksaves and the issue was not present in those, saved about 30 minutes or so before. The issue seems to only happen with my latest quicksave with the LRV parked directly behind the LM, so I tried moving it to the side of the LM and then the issue dissapeared. EDIT 2: I have now observed the issue is solved by turning the rover so its at a different angle from the sun. If I turn it back then the shimmer happens again, and only on other objects (LM and astronaut), the rover itself never had the shimmering but the shimmering of other objects seem to be dependent on the rover's angle with the sun.
 
Last edited:

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Today I was driving the lunar rover in NASSP 8.0 Beta on Apollo 17, when I switched views back to my EVA astronaut, I suddenly got some strange "shimmer" showing on him. I then switched to the LM and the same thing:

I tried re-installing D3D9 client but the issue persists, also if I turn off self-shadows, the shimmer is gone. This is a weird one because I have not made any changes to Orbiter for a few months now and have been using the latest Orbiter Beta and D3D9 client (D3D9ClientBeta29.0-forBETA r90(r1247)) Here was my D3D9 settings when the issue happened:

Any Ideas?


Looks like the LM is missing a shadow map or something in the map is out of bounds.

Could you take a screen shot farther a way from the LM showing better the overall scene composition (in a layout that produces the shimmering) with bounding boxes enabled from the mesh debugger. So that all bounding boxes are fully visible in the screen shot. I can then better estimate where the shadow volumes are.
 
Last edited:

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,443
Reaction score
693
Points
203
So, these are broken from current Orbiter Beta build and 4.1 for Orbiter 2016 is still running fine ? right ?
Set up two clean installations, one for the latest Orbiter beta and one for Orbiter 2016 release (160828), and I get the local lights flickering in the beta but not in the release. And this is with D3D9Client built from the latest sources for each (r.1274 for the beta and r4.1 for 160828).


So things are fine in the release version but not in the beta version.
 

jalexb88

Addon Developer
Addon Developer
Joined
Aug 11, 2008
Messages
152
Reaction score
154
Points
43
Location
Canada
Looks like the LM is missing a shadow map or something in the map is out of bounds.

Could you take a screen shot farther a way from the LM showing better the overall scene composition (in a layout that produces the shimmering) with bounding boxes enabled from the mesh debugger. So that all bounding boxes are fully visible in the screen shot. I can then better estimate where the shadow volumes are.

Here you go. As soon as I zoom out past 80m or so the shimmering goes away, in the screenshot its hard to see but there is still a bit of shimmering. As I also said in my edit, just turning the rover to a different heading seems to fix the issue completely, also the issue only appears on the LM and astronaut, the flag and rover itself are fine.

Screenshot%202020-04-12%2009.07.56.png
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
So this should be it, right?

PHP:
typedef union FVECTOR4 {    // ...     
float data[4];   
 struct { // {x,y,z,w} or {xyz,w}       
 struct {           
 float x, y, z;       
 };       
 struct {           
 FVECTOR3 xyz;       
 };       
 float w;   
 };   
 struct { // {r,g,b,a} or {rgb,a}       
 struct {          
  float r, g, b;   
     };      
  struct {    
        FVECTOR3 rgb;   
     };     
   float a; 
   };
} FVECTOR4;

This isn't working. This little piece of code was behind the MFD failure in SSU. The size of the FVECTPR4 in this code is 28 bytes and it's supposed to be 16 bytes.

---------- Post added at 05:46 ---------- Previous post was at 05:43 ----------

Set up two clean installations, one for the latest Orbiter beta and one for Orbiter 2016 release (160828), and I get the local lights flickering in the beta but not in the release. And this is with D3D9Client built from the latest sources for each (r.1274 for the beta and r4.1 for 160828).
So things are fine in the release version but not in the beta version.


Could you check that the current head revision is working in Orbiter Beta.

---------- Post added at 05:51 ---------- Previous post was at 05:46 ----------

Here you go. As soon as I zoom out past 80m or so the shimmering goes away, in the screenshot its hard to see but there is still a bit of shimmering. As I also said in my edit, just turning the rover to a different heading seems to fix the issue completely, also the issue only appears on the LM and astronaut, the flag and rover itself are fine.

Screenshot%202020-04-12%2009.07.56.png




Ok Thanks, How far is the rover's bounding box extending outside the screen shot. Just a few meters, 100m ? or more ?
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,443
Reaction score
693
Points
203
I can confirm the the local lights and the missing FDAI has been fixed. No other issues to report.
 

jalexb88

Addon Developer
Addon Developer
Joined
Aug 11, 2008
Messages
152
Reaction score
154
Points
43
Location
Canada
This isn't working. This little piece of code was behind the MFD failure in SSU. The size of the FVECTPR4 in this code is 28 bytes and it's supposed to be 16 bytes.

---------- Post added at 05:46 ---------- Previous post was at 05:43 ----------




Could you check that the current head revision is working in Orbiter Beta.

---------- Post added at 05:51 ---------- Previous post was at 05:46 ----------






Ok Thanks, How far is the rover's bounding box extending outside the screen shot. Just a few meters, 100m ? or more ?

Well, I would say quite a ways :lol:

Screenshot%202020-04-14%2011.05.07.png
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Well, I would say quite a ways :lol:

Screenshot%202020-04-14%2011.05.07.png

Ok Thanks, The bounding boxes and spheres are playing a pretty important role in a rendering. That's the way how the engine is keeping it's situational awareness. Right now the bounds are effecting greatly in shadows but also in local lights and camera far/near planes. So, anomalous bounds can cause weird side effects.

I can't really exclude a possibility of a bug in the client causing the bounds becoming stretched but it's likely that the rover mesh has a few misplaced vertices somewhere far far back of the rover. So, could you check the rover mesh.

Of course, the client could try to exclude objects from the shadows that can't be shadowed properly. Right now we don't really know where the limits are.
 

jalexb88

Addon Developer
Addon Developer
Joined
Aug 11, 2008
Messages
152
Reaction score
154
Points
43
Location
Canada
Ok Thanks, The bounding boxes and spheres are playing a pretty important role in a rendering. That's the way how the engine is keeping it's situational awareness. Right now the bounds are effecting greatly in shadows but also in local lights and camera far/near planes. So, anomalous bounds can cause weird side effects.

I can't really exclude a possibility of a bug in the client causing the bounds becoming stretched but it's likely that the rover mesh has a few misplaced vertices somewhere far far back of the rover. So, could you check the rover mesh.

Of course, the client could try to exclude objects from the shadows that can't be shadowed properly. Right now we don't really know where the limits are.

Ok sounds good. I'll take a look at the mesh, could very well be a few issues with it as it hasn't been updated in probably 15 years or so. Thanks for the help!
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
This isn't working. This little piece of code was behind the MFD failure in SSU. The size of the FVECTPR4 in this code is 28 bytes and it's supposed to be 16 bytes.
That's unfortunate. I'll try adding some #pragma pack's and see if I can get 'em packed & aligned.
If that's not working however we might have to switch back to the original version (with warnings)...which you already did ;) I'll experiment with the packing anyway to see how that would end up.
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
That's unfortunate. I'll try adding some #pragma pack's and see if I can get 'em packed & aligned.
If that's not working however we might have to switch back to the original version (with warnings)...which you already did ;) I'll experiment with the packing anyway to see how that would end up.


I haven't got any warnings with it in VS2015. But I changed the variable names "a" to "_a" to avoid having the same names appear twice. Both "a" and "_a" should be pointing in the same memory location.
 

kuddel

Donator
Donator
Joined
Apr 1, 2008
Messages
2,064
Reaction score
508
Points
113
Hey, it seems that I missed one (inner) union on the FVECTPR4 in gcConst.h
Now it's size is 16 Bytes (even without any #pragma, but I'll keep the #pragma pack to be on the save side).
See r1277 (trunk/) rsp. r1278 (branches/20216/).

We really need some sort or unit tests or something...I'll start with some asserts in debug code as a start.

---------- Post added at 00:38 ---------- Previous post was at 00:30 ----------

But I changed the variable names "a" to "_a" to avoid having the same names appear twice. Both "a" and "_a" should be pointing in the same memory location.
Wouldn't that change the API?

I think with my "extra level" union changes we can all work with (fingers crossed).

I've only merged the changes into branches/2016/ so r1278 might break some code...let me check (compile) and fix any access to "_a"....
Current branches/2016/@r1278 compiles, so Jarmo you might need to revert any local changes (if you don't mind). Sorry for the uncoordinated commits.

---------- Post added at 00:52 ---------- Previous post was at 00:38 ----------

I haven't got any warnings with it in VS2015.
Just set the WarningLevel to 4 ( /W4 ) and you'll have plenty :) Although I don't know if that particular "nameless structs containing variables with same name" shows up in VS2015.
 
Last edited:

yitianetie

Member
Joined
Mar 24, 2020
Messages
50
Reaction score
18
Points
23
Location
Brittany
Hi,

I have met a CTD while using Orbiter 2016 official with last D3D9 client (r1264) and when I set mesh resolution to 64. Do I need some prerequisites before using this option. The CTD occurs when loading the simulation a vanilla scenario.

This is my orbiter log but I don't see the true reason of this crash :

Code:
**** Orbiter.log
000000.000: Build Aug 28 2016 [v.160828]
000000.000: Timer precision: 1e-007 sec
000000.000: Found 0 joystick(s)
000000.000: Module AtlantisConfig.dll .... [Build 160828, API 160828]
000000.000: Module AtmConfig.dll ......... [Build 160828, API 160828]
000000.000: Module DGConfigurator.dll .... [Build 160828, API 160828]
000000.000: ---------------------------------------------------------------
BaseDir    : D:\Orbiter\Orbiter2016\
ConfigDir  : D:\Orbiter\Orbiter2016\Config\
MeshDir    : D:\Orbiter\Orbiter2016\Meshes\
TextureDir : D:\Orbiter\Orbiter2016\Textures\
HightexDir : D:\Orbiter\Orbiter2016\Textures2\
ScenarioDir: D:\Orbiter\Orbiter2016\Scenarios\
000000.000: ---------------------------------------------------------------
D3D9 DLLs  : C:\WINDOWS\SYSTEM32\d3dx9_43.dll [v 9.29.952.3111]
           : C:\WINDOWS\SYSTEM32\d3d9.dll [v 10.0.18362.387]
000000.000: ---------------------------------------------------------------
000000.000: Module D3D9Client.dll ........ [Build 200126, API 160828]
000000.000: Module ExtMFD.dll ............ [Build 160828, API 160828]
000000.000: Module Rcontrol.dll .......... [Build 160828, API 160828]
000000.000: Module ScnEditor.dll ......... [Build 160828, API 160828]
000000.000: Module transx.dll ............ [Build 160216, API 160214]
000000.000: Module CustomMFD.dll ......... [Build 160828, API 160828]
============================ ERROR: ===========================
Failed loading module Modules\Plugin\ApolloRTCCMFD.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===============================================================
============================ ERROR: ===========================
Failed loading module Modules\Plugin\ProjectApolloMFD.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===============================================================
============================ ERROR: ===========================
Failed loading module Modules\Plugin\XRSound.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===============================================================
000000.000: Module LuaConsole.dll ........ [Build 160828, API 160828]
000000.000: Module LuaMFD.dll ............ [Build 160828, API 160828]
000000.000: Module GenericCamera.dll ..... [Build 200126, API 160828]
000000.000: 
000000.000: **** Creating simulation session
000000.000: D3D9: [DirectX 9 Initialized]
D3D9: 3D-Adapter.............. : NVIDIA GeForce GTX 950M
D3D9: MaxTextureWidth......... : 16384
D3D9: MaxTextureHeight........ : 16384
D3D9: MaxTextureRepeat........ : 8192
D3D9: VolTexAddressCaps....... : 0x3F
D3D9: NumSimultaneousRTs...... : 4
D3D9: VertexDeclCaps.......... : 0x30F
D3D9: MiscCaps................ : 0x2FCEF2
D3D9: XNA Math Support........ : Yes
D3D9: Vertex Texture.......... : Yes
D3D9: Separate AlphaBlend..... : Yes
D3D9: Shadow Mapping.......... : Yes
D3D9: D3DFMT_A16B16G16R16F.... : Yes
D3D9: D3DFMT_A32B32G32R32F.... : Yes
D3D9: D3DFMT_D32F_LOCKABLE.... : Yes
D3D9: D3DFMT_A2R10G10B10...... : Yes
D3D9: D3DFMT_L8............... : Yes
D3D9: D3DDTCAPS_DEC3N......... : No
D3D9: D3DDTCAPS_FLOAT16_2..... : Yes
D3D9: D3DDTCAPS_FLOAT16_4..... : Yes
D3D9: Runs under WINE......... : No
D3D9: D3D9Build Date.......... : 200126
D3D9: Available Texture Memory : 4088 MB
000000.000: D3D9: [3DDevice Initialized]
000000.000: D3D9: [Loading Constellations]
000000.000: D3D9: [D3D9Client Initialized]
000000.000: Module Sun.dll ............... [Build 160828, API 160828]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
000000.000: Module Mercury.dll ........... [Build 160828, API 160828]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
000000.000: Module Venus.dll ............. [Build 160828, API 160828]
000000.000: Module VenusAtm2006.dll ...... [Build 160828, API 160828]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
000000.000: Module Earth.dll ............. [Build 160828, API 160828]
000000.000: Module EarthAtmJ71G.dll ...... [Build 160828, API 160828]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
000000.000: Module Moon.dll .............. [Build 160828, API 160828]
ELP82: Precision 1e-005, Terms 116/829
000000.000: Module Mars.dll .............. [Build 160828, API 160828]
000000.000: Module MarsAtm2006.dll ....... [Build 160828, API 160828]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
000000.000: Module Phobos.dll ............ [Build ******, API 060425]
000000.000: Module Deimos.dll ............ [Build ******, API 060425]
000000.000: Module Galsat.dll ............ [Build 160828, API 160828]
000000.000: Module Jupiter.dll ........... [Build 160828, API 160828]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
000000.000: Module Io.dll ................ [Build 160828, API 160828]
000000.000: Module Europa.dll ............ [Build 160828, API 160828]
000000.000: Module Ganymede.dll .......... [Build 160828, API 160828]
000000.000: Module Callisto.dll .......... [Build 160828, API 160828]
000000.000: Module Satsat.dll ............ [Build 160828, API 160828]
000000.000: Module Saturn.dll ............ [Build 160828, API 160828]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
000000.000: Module Mimas.dll ............. [Build 160828, API 160828]
SATSAT Mimas: Terms 113
000000.000: Module Enceladus.dll ......... [Build 160828, API 160828]
SATSAT Enceladus: Terms 33
000000.000: Module Tethys.dll ............ [Build 160828, API 160828]
SATSAT Tethys: Terms 101
000000.000: Module Dione.dll ............. [Build 160828, API 160828]
SATSAT Dione: Terms 59
000000.000: Module Rhea.dll .............. [Build 160828, API 160828]
SATSAT Rhea: Terms 68
000000.000: Module Titan.dll ............. [Build 160828, API 160828]
SATSAT Titan: Terms 100
000000.000: Module Iapetus.dll ........... [Build 160828, API 160828]
SATSAT Iapetus: Terms 605
000000.000: Module Uranus.dll ............ [Build 160828, API 160828]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
000000.000: Module Miranda.dll ........... [Build ******, API 060425]
000000.000: Module Ariel.dll ............. [Build ******, API 060425]
000000.000: Module Umbriel.dll ........... [Build ******, API 060425]
000000.000: Module Titania.dll ........... [Build ******, API 060425]
000000.000: Module Oberon.dll ............ [Build ******, API 060425]
000000.000: Module Neptune.dll ........... [Build 160828, API 160828]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
000000.000: Finished initialising world
000000.000: Module ShuttlePB.dll ......... [Build 160828, API 160828]
000000.000: Module DeltaGlider.dll ....... [Build 160828, API 160828]
000000.000: Module LuaInline.dll ......... [Build 160828, API 160828]
000000.000: Module ShuttleA.dll .......... [Build 160828, API 160828]
000000.000: Finished initialising status
000000.000: Finished initialising camera
000000.000: Finished setting up render state
000000.000: D3D9: [Scene Initialized]
000000.000: Finished initialising panels

And that is below my orbiter_NG config file :

Code:
; === ORBITER Master Configuration File ===
EchoAllParams = FALSE
LPadRect = -16 0 1366 744

; === Logical parameters ===
DamageModel = 1

; === Visual parameters ===
EnableCloudShadows = TRUE
EnableSpecularRipples = TRUE
EnableLocalLights = TRUE
AmbientLevel = 8
CSphereBgImage = Visible (DSS2/Wikisky)
CSphereBgPath = csphere\dds2
CSphereBgIntensity = 0.05
ElevationMode = 1

; === Instrument parameters ===
VCMfdSize = 512

; === Visual helper parameters ===
Planetarium = 6378

; === Debugging options ===
TimerMode = 1
DisableFontSmoothing = FALSE
VerboseLog = TRUE

; === Physics engine ===
DistributedVesselMass = TRUE
NonsphericalGravitySources = TRUE
RadiationPressure = TRUE
AtmosphericWind = TRUE

; === Device settings ===
DeviceIndex = 0
ModeIndex = 281
DeviceForceEnum = FALSE

; === User interface parameters ===
SelVesselFlat = TRUE

; === Window positions ===
DlgInfoPos = 494 119 872 158
DlgCamPos = 310 118 500 580
DlgFocusPos = 634 157 952 549
LpadScnListWidth = 329
LpadModListWidth = 213
LpadExtListWidth = 213

; === Active plugin list ===
ACTIVE_MODULES
  D3D9Client
  ExtMFD
  Rcontrol
  ScnEditor
  transx
  CustomMFD
  ApolloRTCCMFD
  ProjectApolloMFD
  XRSound
  LuaConsole
  LuaMFD
  GenericCamera
END_MODULES

So, if someone could me help... If I set 32 for the mesh resolution, it works fine but I would like to set to 64 as the shadows terrains on the moon are better, even with linear interpolation.
 
Last edited:

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,668
Reaction score
796
Points
128
Hi,

I have met a CTD while using Orbiter 2016 official with last D3D9 client (r1264) and when I set mesh resolution to 64. Do I need some prerequisites before using this option. The CTD occurs when loading the simulation a vanilla scenario.


I can reproduce the CTD. Will be fixed in the next release


Looks like it's coming from r.1204 change in Timemgr2_imp.hpp


Code:
{
        globtile[i] = new TileType(this, i - 3, 0, 0);
        globtile[i]->Load();
    }


Load() been added but why ? ... Looks like it's coming from Orbiter Beta but the Beta implementation is slightly different.


Surfmgr2.cpp line 577 (Beta)

Code:
SurfTile *ggp = smgr->GlobalTile(lvl - ancestor_dlvl);// +3);

If both changes are applied it works or if it's reverted back it works too. Since Martin has made the change in the beta it's probably better to go that way. I don't know the reason behind the change.
 
Last edited:

yitianetie

Member
Joined
Mar 24, 2020
Messages
50
Reaction score
18
Points
23
Location
Brittany
I don't know if it could explain but I have noticed that terrain textures tend to load a bit faster in orbiter beta than in the official release. Anyways, thanks for your effort. Hope to get the fix soon.

Warmest regards.

---------- Post added at 09:45 PM ---------- Previous post was at 05:49 AM ----------

Hi again,

I have found a new bug for an MFD "ascent profile". Since the MFD text in VC has been improved with mipmaps, I get a CTD when I click on "ascent profile" in MFD menu. It occurs only in a virtual cockpit but, honestly, I prefer the improvement of the text with mipmaps because we can display ascent profile with ExtMFD.

Below, that is the orbiter log :

Code:
**** Orbiter.log
000000.000: Build Aug 28 2016 [v.160828]
000000.000: Timer precision: 1e-007 sec
000000.000: Found 0 joystick(s)
000000.000: Module AtlantisConfig.dll .... [Build 160828, API 160828]
000000.000: Module AtmConfig.dll ......... [Build 160828, API 160828]
000000.000: Module DGConfigurator.dll .... [Build 160828, API 160828]
000000.000: ---------------------------------------------------------------
BaseDir    : D:\Orbiter\Orbiter2016\
ConfigDir  : D:\Orbiter\Orbiter2016\Config\
MeshDir    : D:\Orbiter\Orbiter2016\Meshes\
TextureDir : D:\Orbiter\Orbiter2016\Textures\
HightexDir : D:\Orbiter\Orbiter2016\Textures2\
ScenarioDir: D:\Orbiter\Orbiter2016\Scenarios\
000000.000: ---------------------------------------------------------------
D3D9 DLLs  : C:\WINDOWS\SYSTEM32\d3d9.dll [v 10.0.18362.387]
           : C:\WINDOWS\SYSTEM32\d3dx9_43.dll [v 9.29.952.3111]
000000.000: ---------------------------------------------------------------
000000.000: Module D3D9Client.dll ........ [Build 200126, API 160828]
000000.000: Module Rcontrol.dll .......... [Build 160828, API 160828]
000000.000: Module ScnEditor.dll ......... [Build 160828, API 160828]
000000.000: Module transx.dll ............ [Build 160216, API 160214]
000000.000: Module CustomMFD.dll ......... [Build 160828, API 160828]
============================ ERROR: ===========================
Failed loading module Modules\Plugin\ApolloRTCCMFD.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===============================================================
============================ ERROR: ===========================
Failed loading module Modules\Plugin\ProjectApolloMFD.dll (code 126)
[Orbiter::LoadModule | .\Orbiter.cpp | 600]
===============================================================
000000.000: Module XRSound.dll ........... [Build 180309, API 160828]
000000.000: Module LuaConsole.dll ........ [Build 160828, API 160828]
000000.000: Module LuaMFD.dll ............ [Build 160828, API 160828]
000000.000: Module GenericCamera.dll ..... [Build 200126, API 160828]
000000.000: Module ExtMFD.dll ............ [Build 160828, API 160828]
000000.000: Module DX9ExtMFD.dll ......... [Build 200126, API 160828]
000000.000: Module Multistage2015_MFD.dll  [Build 170506, API 160828]
000000.000: 
000000.000: **** Creating simulation session
000000.000: D3D9: [DirectX 9 Initialized]
D3D9: 3D-Adapter.............. : NVIDIA GeForce GTX 950M
D3D9: MaxTextureWidth......... : 16384
D3D9: MaxTextureHeight........ : 16384
D3D9: MaxTextureRepeat........ : 8192
D3D9: VolTexAddressCaps....... : 0x3F
D3D9: NumSimultaneousRTs...... : 4
D3D9: VertexDeclCaps.......... : 0x30F
D3D9: MiscCaps................ : 0x2FCEF2
D3D9: XNA Math Support........ : Yes
D3D9: Vertex Texture.......... : Yes
D3D9: Separate AlphaBlend..... : Yes
D3D9: Shadow Mapping.......... : Yes
D3D9: D3DFMT_A16B16G16R16F.... : Yes
D3D9: D3DFMT_A32B32G32R32F.... : Yes
D3D9: D3DFMT_D32F_LOCKABLE.... : Yes
D3D9: D3DFMT_A2R10G10B10...... : Yes
D3D9: D3DFMT_L8............... : Yes
D3D9: D3DDTCAPS_DEC3N......... : No
D3D9: D3DDTCAPS_FLOAT16_2..... : Yes
D3D9: D3DDTCAPS_FLOAT16_4..... : Yes
D3D9: Runs under WINE......... : No
D3D9: D3D9Build Date.......... : 200126
D3D9: Available Texture Memory : 4088 MB
000000.000: D3D9: [3DDevice Initialized]
000000.000: D3D9: [Loading Constellations]
000000.000: D3D9: [D3D9Client Initialized]
000000.000: Module Sun.dll ............... [Build 160828, API 160828]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
000000.000: Module Mercury.dll ........... [Build 160828, API 160828]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
000000.000: Module Venus.dll ............. [Build 160828, API 160828]
000000.000: Module VenusAtm2006.dll ...... [Build 160828, API 160828]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
000000.000: Module Earth.dll ............. [Build 160828, API 160828]
000000.000: Module EarthAtmJ71G.dll ...... [Build 160828, API 160828]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
000000.000: Module Moon.dll .............. [Build 160828, API 160828]
ELP82: Precision 1e-005, Terms 116/829
000000.000: Module Mars.dll .............. [Build 160828, API 160828]
000000.000: Module MarsAtm2006.dll ....... [Build 160828, API 160828]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
000000.000: Module Phobos.dll ............ [Build ******, API 060425]
000000.000: Module Deimos.dll ............ [Build ******, API 060425]
000000.000: Module Galsat.dll ............ [Build 160828, API 160828]
000000.000: Module Jupiter.dll ........... [Build 160828, API 160828]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
000000.000: Module Io.dll ................ [Build 160828, API 160828]
000000.000: Module Europa.dll ............ [Build 160828, API 160828]
000000.000: Module Ganymede.dll .......... [Build 160828, API 160828]
000000.000: Module Callisto.dll .......... [Build 160828, API 160828]
000000.000: Module Satsat.dll ............ [Build 160828, API 160828]
000000.000: Module Saturn.dll ............ [Build 160828, API 160828]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
000000.000: Module Mimas.dll ............. [Build 160828, API 160828]
SATSAT Mimas: Terms 113
000000.000: Module Enceladus.dll ......... [Build 160828, API 160828]
SATSAT Enceladus: Terms 33
000000.000: Module Tethys.dll ............ [Build 160828, API 160828]
SATSAT Tethys: Terms 101
000000.000: Module Dione.dll ............. [Build 160828, API 160828]
SATSAT Dione: Terms 59
000000.000: Module Rhea.dll .............. [Build 160828, API 160828]
SATSAT Rhea: Terms 68
000000.000: Module Titan.dll ............. [Build 160828, API 160828]
SATSAT Titan: Terms 100
000000.000: Module Iapetus.dll ........... [Build 160828, API 160828]
SATSAT Iapetus: Terms 605
000000.000: Module Uranus.dll ............ [Build 160828, API 160828]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
000000.000: Module Miranda.dll ........... [Build ******, API 060425]
000000.000: Module Ariel.dll ............. [Build ******, API 060425]
000000.000: Module Umbriel.dll ........... [Build ******, API 060425]
000000.000: Module Titania.dll ........... [Build ******, API 060425]
000000.000: Module Oberon.dll ............ [Build ******, API 060425]
000000.000: Module Neptune.dll ........... [Build 160828, API 160828]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
000000.000: Finished initialising world
000000.000: Module G422.dll .............. [Build 200228, API 160828]
000000.000: Finished initialising status
000000.000: Finished initialising camera
000000.000: Finished setting up render state
000000.000: D3D9: [Scene Initialized]
000000.000: Finished initialising panels
000000.000: XRSound 1.10 (Build Date: Mar  9 2018) initialized using sound driver DirectSound8; irrKlang version = 1.6.0.  XRSound UpdateInterval = 0.050 (20.0 updates per second)
D3D9: ERROR: oapiCreateSurfaceEx() Cannot combine OAPISURFACE_MIPMAPS | OAPISURFACE_GDI

The last line highlights the error which generates a CTD. I have checked "enable GDI overlay" but it does not solve the issue.

I don't know if this MFD is very important for everyone. I wonder whether if a solution is being looked for. Anyways, I think that the 64 bit mesh resolution issue, as I have posted before is more important.

To jarmonik, Have you a release date for the next version ?

Kind regards
 
Top