New Release D3D9Client Development

Sorry, for my ignorance,but how do I do that ?

---------- Post added at 10:00 PM ---------- Previous post was at 09:59 PM ----------

Honestly, I don't notice. My computer handles Orbiter with your graphics client so well, a low frame rate for me is still in the high 200s.

And as far as I know, this is the only real option for solar panels when doing custom space station construction.

Not sure why there needs to be so many groups...maybe for the folding animations.


Try mine in ISS A2Z.
 
And just tested R3

the issues appears to be completely resolved. Thanks!

---------- Post added at 05:06 PM ---------- Previous post was at 05:02 PM ----------

Try mine in ISS A2Z.

I think I will. Someone showed me a pic of A2Z not that long ago and it is darn gorgeous. I will use your stuff when I build by next space station for sure. :thumbup:


and my goodness
https://www.dropbox.com/s/ruh0uyzm2h8q4hj/13.03.10 15-05-40 Constitution.bmp

so good to look at. The planet shine, the reflection in the glass, just wonderful wonderful stuff.


:cheers:
 
I found something that might have caused the clipping problem. Now the near clipplane code should be identical with R9. It has to be it, there's not much choises.



Here is a debug build for Donamy. If you can reproduce the CTD with it and post the exception data from the log.


Where is the log located ?
 
Sorry, for my ignorance,but how do I do that ?

Sorry, I forget to enable exception handling. Here's a new build.

There is nothing special about doing a debug run. Just replace existing D3D9Client.dll with the one in the new package and run a scenario that caused the CTD. If the client is able to catch the CTD then the exception information is written into the Orbiter.log, orherwise you should be seeing a standard windows style report of the CTD. If the CTD does occur in D3D9Client.dll then I should be able to find the reason for it based on the address and register set data in the Orbiter Log.

You should be seeing something like this:
PHP:
Orbiter Version 100830
D3D9Client Build [Sep 15 2012]
Exception Code=0xC0000005, Address=0x00412958
EAX=0x04A96F58 EBX=0x0C610024 ECX=0x00000000 EDX=0x00000400 ESI=0x00000000 EDI=0x00000000 EBP=0x0C7FF468 ESP=0x009FF410 EIP=0x00412958
C:\Orbiter\modules\server\orbiter.exe EntryPoint=0x004ACFAC, Base=0x00400000, Size=2097152
Critical exception in gc->RegisterVisObject(0xBCCDEC8, 0x4B10188) (DGIV-01).
VesselClass Name = DeltaGliderIV
!!! Abnormal Program Termination !!!
 

Attachments

Last edited:
Well, I supported the D3D9 client from the start and I have seen the amazing evolution over those last years. The improvement in terms of esthetics AND performance is absolutely amazing.

Now I'm sad to hear you are going to stop there. I was secretly hoping you could make 3D terrain (with good performance and reliability) become a reality. Now I know that the API has currently severe limitations in that area, and to be honest, I'm a little afraid for the future of Orbiter because of that. I hope that Dr Martin Schweiger will hear us and find the time to add terrain & collision detection features to the API, that would bring the simulator to a new level (no mistake here, I know it isn't something easy !). :2cents:

Anyway, thank you very much for the amazing work you've done so far, Jarmonik ! :thumbup: :thumbup: :thumbup:

:hailprobe:
 
I would also like to add my thanks and congratulations to you for creating this and having the patience to fix all the annoying bugs and issues that have come up throughout the history of D3D9Client. I have always looked forward to the next version as they all have been amazing and enhancing the experience of Orbiter, bit by bit.

I had always hoped that at least basic vessel self-shadowing would been implemented before the end, but this is not a big deal.
 
Code:
(0: 0.00s 3097433231us)(0x514) [nVidia API Initialized]
(1: 0.00s 0us)(0x514) ================ clbkInitialise ===============
(2: 0.00s 27us)(0x514) Orbiter Version = 100830
(3: 0.01s 2648us)(0x514) Index:0 640 x 480 60Hz (22)
(4: 0.01s 2760us)(0x514) Index:1 720 x 480 60Hz (22)
(5: 0.01s 3004us)(0x514) Index:2 800 x 600 60Hz (22)
(6: 0.01s 3238us)(0x514) Index:3 1024 x 768 60Hz (22)
(7: 0.01s 3479us)(0x514) Index:4 1280 x 720 60Hz (22)
(8: 0.01s 3724us)(0x514) Index:5 1360 x 768 60Hz (22)
(9: 0.01s 3967us)(0x514) Index:6 1600 x 900 60Hz (22)
(10: 0.01s 4209us)(0x514) Index:7 1680 x 1050 60Hz (22)
(11: 0.01s 4446us)(0x514) Index:8 1920 x 1080 60Hz (22)
(12: 0.01s 4685us)(0x514) Index:9 720 x 240 60Hz (22)
(13: 0.01s 4924us)(0x514) Index:10 1440 x 480 60Hz (22)
(14: 0.01s 5165us)(0x514) Index:11 1440 x 900 60Hz (22)
(15: 0.01s 5412us)(0x514) Index:12 1920 x 1080 24Hz (22)
(16: 21.52s 5316us)(0x514) InitSetupDialog() Enum Device AA capability = 8
(17: 66.75s 42us)(0x514) Node[2] = SpaceX launch vehicles and Dragon (0xAF018)
(18: 66.75s 89us)(0x514) Node[1] = Falcon Heavy (0xAF6F0)
(19: 66.75s 112us)(0x514) Node[0] = Falcon Heavy - LC40 launch (0xAF748)
(20: 66.75s 132us)(0x514) Scenario = .\Scenarios\SpaceX launch vehicles and Dragon\Falcon Heavy\Falcon Heavy - LC40 launch.scn
(21: 66.75s 1us)(0x514) ================ clbkCreateRenderWindow ===============
(22: 66.76s 252us)(0x514) [VideoConfiguration] Adapter=0, ModeIndex=8
(23: 66.76s 287us)(0x514) dwFSMode = 1
(24: 66.76s 1175us)(0x514) Adapter = NVIDIA GeForce 9800 GTX+
(25: 66.76s 1504us)(0x514) MaxTextureBlendStages..: 8
(26: 66.76s 1530us)(0x514) MaxTextureWidth........: 8192
(27: 66.76s 1551us)(0x514) MaxTextureHeight.......: 8192
(28: 66.76s 1571us)(0x514) MaxPrimitiveCount......: 8388607
(29: 66.76s 1590us)(0x514) MaxVertexIndex.........: 16777215
(30: 66.76s 1610us)(0x514) MaxAnisotropy..........: 16
(31: 66.76s 1629us)(0x514) MaxSimultaneousTextures: 8
(32: 66.76s 1649us)(0x514) MaxStreams.............: 16
(33: 66.76s 1669us)(0x514) MaxStreamStride........: 255
(34: 66.76s 1688us)(0x514) MaxVertexBlendMatrices.: 4
(35: 66.76s 1752us)(0x514) MaxVShaderInstrExecuted: 65535
(36: 66.76s 1774us)(0x514) MaxPointSize...........: 8192.000000
(37: 66.76s 1796us)(0x514) VertexShaderVersion....: 0x300
(38: 66.76s 1816us)(0x514) PixelShaderVersion.....: 0x300
(39: 66.76s 1835us)(0x514) NumSimultaneousRTs.....: 4
(40: 66.76s 1855us)(0x514) D3DPTEXTURECAPS_POW2...: 0
(41: 66.76s 1875us)(0x514) NONPOW2CONDITIONAL.....: 0
(42: 66.76s 1894us)(0x514) VertexDeclCaps.........: 0x30F
(43: 66.76s 1914us)(0x514) DevCaps................: 0x1BBEF0
(44: 66.76s 1933us)(0x514) DevCaps2...............: 0x51
(45: 66.76s 1953us)(0x514) XNA Math Support.......: Yes
(46: 66.76s 2136us)(0x514) D3DFMT_D32F_LOCKABLE
(47: 66.76s 2160us)(0x514) D3DFMT_D24S8
(48: 66.76s 2180us)(0x514) D3DFMT_D24X8
(49: 66.77s 17445us)(0x514) Creating a BackBuffer SURFHANDLE=0x164E428 D3DSURF=0xE7C20
(50: 66.77s 17554us)(0x514) Available Texture Memory = 890 MB
(51: 66.78s 275us)(0x514) ----- Initialize D3D9ClientSurface Tech -----
(52: 66.85s 69802us)(0x514) Render Target = 0xE7C20
(53: 66.99s 210365us)(0x514) [NEW FONT] ( Courier New), Size=20, Weight=400 Pitch&Family=31
(54: 66.99s 211964us)(0x514) Font Video Memory Usage = 256 kb
(55: 66.99s 212146us)(0x514) Font and Charter set creation succesfull
(56: 66.99s 891us)(0x514) Texture Null.dds found. Handle=0x1E82D48, (16x16), MipMaps=5, Flags=0x0, Format=0x35545844
(57: 67.00s 3587us)(0x514) Texture Disl_Crystal.png found. Handle=0x1E82E90, (256x256), MipMaps=9, Flags=0x0, Format=0x29
(58: 67.00s 3736us)(0x514) Texture Disl_Lines.png found. Handle=0x164F958, (256x256), MipMaps=9, Flags=0x0, Format=0x29
(59: 67.01s 3844us)(0x514) Texture Disl_Lines2.png found. Handle=0x164FAA0, (256x256), MipMaps=9, Flags=0x0, Format=0x29
(60: 67.01s 3811us)(0x514) Texture Disl_Noise.png found. Handle=0x164FBE8, (256x256), MipMaps=9, Flags=0x0, Format=0x29
(61: 67.02s 5995us)(0x514) Texture Disl_Pool.png found. Handle=0x164FD30, (256x256), MipMaps=9, Flags=0x0, Format=0x16
(62: 67.07s 64366us)(0x514) Starting to initialize basic a rendering technique...
(63: 67.07s 64420us)(0x514) [Compiling Effects for Shader Model 3.0]
(64: 68.58s 3453us)(0x514)[WARNING] Texture D3D9LENoise.dds not found.
(65: 70.22s 1646788us)(0x514) --------------ExitModule------------
(66: 70.22s 1647956us)(0x514) Log Closed
 
Last edited:
Well, I supported the D3D9 client from the start and I have seen the amazing evolution over those last years. The improvement in terms of esthetics AND performance is absolutely amazing.

Now I'm sad to hear you are going to stop there. I was secretly hoping you could make 3D terrain (with good performance and reliability) become a reality. Now I know that the API has currently severe limitations in that area, and to be honest, I'm a little afraid for the future of Orbiter because of that. I hope that Dr Martin Schweiger will hear us and find the time to add terrain & collision detection features to the API, that would bring the simulator to a new level (no mistake here, I know it isn't something easy !). :2cents:

Anyway, thank you very much for the amazing work you've done so far, Jarmonik ! :thumbup: :thumbup: :thumbup:

:hailprobe:

Well Martins knows best, we'll just have to be patient on these things. Features wont always come so quickly in Orbiter, but the work done on it is special, because its done for passion instead of profit.

Again though, congratulations on all the work you've done on the D3D9 client Jarmo, it was undoubtedly a lot of work for you, and the community is much better off for it. :cheers:

I would caution against the new simulator project though, as I think the time may not be right for that sort of thing. Between KSP and Orbiter, I would argue the whole audience for that sort of thing is taken, & any new simulator would have a hard time matching the content depth that Orbiter has. (please, please dont create another KSP :lol:)
 
Last edited:
I'd also like to give my congratulations regarding the DX9 client. I'll certainly adapt some of my existing work to use the normal-maps. They give a sense of scale and distance that is very important on a simulation. :cheers:

As for another sim, there's space for one based on surface interaction and physics.
Focused on docking, landing and driving and not on space navigation.
Something that starts were Orbiter stops. I'd be more than interested in contributing to that.
 
People will go to that which they deem is best. Don't worry about that. And KSP....well. That is KSP.

Yeah KSP is what KSP is. My feeling is that it would be hard for a new project to win though.

A new program cant beat KSP because KSP has built up too much momentum, its developed professionally, and because KSP is easier to learn & fly.

A new program couldn't beat Orbiter because Orbiter already has about a decade of add-on content already invested in it. We already have a forums, a well maintained downloads site, & multiple high level projects that have been designed for it (IMS, surface physics, D3D11, the XR fleet, UMMU, UCGO, Orbitersound, Orbiter Galaxy, the list goes on...)

What would really make sense would be to create a program similar to Orbiter that can be developed as open source while still using Orbiters SDK framework. Basically, if Martins is willing to help you get OpenOrbiter (name suggestion ;)) to run as a physics environment that can read anything in the OrbiterSDK, save a few things like touchdown points, then add-ons can be recompiled for the new program with only a few minor changes. If he doesnt want to help, then youre stuck creating things from scratch though...
 
Well, I think there would be room for a simulator where you could have structural physics, click-and-drag spacecraft/rockets design (that one is not impossible to make as an addon with the current Orbiter API), collision detection, and 3D terrain like in KSP, and while in the same time you would have a realist Solar System with the terrain data collected by real space probes (well, fictional for unexplored bodies like Pluto), all the known orbital elements, the precision of the newtonian physics engine, plus the extreme "moddability" of Orbiter.

Of course I'm probably demanding too much, because this looks like a paradise for space simmers :lol:

Still, may the Probe guide us on that path :hailprobe:

Imagine what it would be to carefully pilot a lander over a real location on Mars, knowing that a wrong move can ruin the 6-months trip and numerous orbital rendez-vous you've done to get there. :love:
 
Last edited:
Imagine what it would be to carefully pilot a lander over a real location on Mars, knowing that a wrong move can ruin the 6-months trip and numerous orbital rendez-vous you've done to get there. :love:

Yeah, just do it in Orbiter!

:ninja:
 
Sorry if this is a bit dense...

but if I want to edit a texture, say the bay texture of Shuttle Fleet so I can get reflections in the radiators.....

what would I need to do to make the environmental maps to get that?
 
Last edited:
Sorry if this is a bit dense...

but if I want to edit a texture, say the bay texture of Shuttle Fleet so I can get reflections in the radiators.....

what would I need to do to make the environmental maps to get that?


If you mean by this
shuttleaw.jpg

In simulation press f4 and then custom and then d3d9debug control or something and then select mesh and set reflect and move slider for all three arguments..
 
That is it. Thanks.

I was thinking for whatever reason that the utility was outside the sim. Then SamuelEdwards actually just told me that it was in the sim. How wonderful.

What a fantastic feature to have in Orbiter, really is.
 
Sorry if this is a bit dense...

but if I want to edit a texture, say the bay texture of Shuttle Fleet so I can get reflections in the radiators.....

what would I need to do to make the environmental maps to get that?
If you mean by this
View attachment 11461

In simulation press f4 and then custom and then d3d9debug control or something and then select mesh and set reflect and move slider for all three arguments..

To expand on Sitha's response, you can make a texture where color modifies the color of the reflection and brightness modifies the reflectivity and call it [file-name]_refl.dds
 
To expand on Sitha's response, you can make a texture where color modifies the color of the reflection and brightness modifies the reflectivity and call it [file-name]_refl.dds

Now this is something I needed to know, because I have put solar panels in the inside of my XR-2s bay doors, and I wondered if there was a way to make them reflective as well, but the utility way didn't seem to be an option since they don't take up the entirety of the door, and when I make them reflective, it makes the bottom of the bay reflective as well.

So if I take the actual texture, and make the parts I want to reflect bright....that should do it?

Removing the original texture of course after making the map.
 
Back
Top