Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Space Flight Simulator > Orbiter Visualization Project
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Orbiter Visualization Project Orbiter external graphics development.

Reply
 
Thread Tools
Old 11-01-2010, 07:48 PM   #91
DaveS
Addon Developer
 
DaveS's Avatar


Big Grin

Quote:
Originally Posted by jarmonik View Post
 Ok, here is a new version. Everything that's needed to play the Orbiter is implemented. Particle effects and shadows are still offline and I still need to think about how to implement them. I suppose the particle effects could be moved over to the GPU somehow but I have never done anythink like that so ideas are welcome.
So far, the frame rate seems to be pretty good. It's about 30% to 400% over the build-in engine. The HUD is causing a terrible impact for unknown reason. Also the CPU seems to be the bottle neck.

- Atmospheric haze is now online.
- Surface base rendering is online.
- Cloud layer rendering improved.
- Planetary ring rendering is online but it's not working properly.
- High resolution terrain is online.
- Fog is online.
Can confirm the significant FPS boost here! Over 100 FPS with the very poly-heavy SSU on the launch pad! With the DX7 client it was a challenge to get it over 30.

So fantastic job so far! Keep it and this one will be a winner for sure! BTW, are animations implemented yet? Just checking to be sure.
DaveS is online now   Reply With Quote
Old 11-01-2010, 08:31 PM   #92
jedimaster1214
CDR-LMP-CMP
 
jedimaster1214's Avatar
Default

Quote:
Originally Posted by Xyon View Post
Just out of curiosity, what's your computer specs?
I would absolutely LOVE to have 184 FPS.

It looks like this project is coming along nicely
jedimaster1214 is offline   Reply With Quote
Old 11-01-2010, 08:45 PM   #93
jarmonik
Beta Tester

Default

Quote:
Originally Posted by Xyon View Post
 Progress, for sure - I have a vessel which I can't see definitely in Orbit (It was pre-put there by the scenario editor) - but no control over it, no fuel in it for some reason. Neither RCS fuel, so presumably the small tank it uses is also empty.
That's strange, I have never encountered anything like that. Does the same thing happen with every vessel ? Is anyone else able to reproduce this ? Am I just lucky that it works on my computer ?

Quote:
Originally Posted by Xyon View Post
 Did something change in the DG's .dll?
The D3D9Client doesn't change anything from any DLL.

Quote:
Originally Posted by Xyon View Post
 the MFD buttons in the glass cockpit are partially obscured while in space - this wasn't the case on land.
Yes, I can reproduce that one. It's been around from the begining. It has probably something to do with the implementation of in-surface blitting. DirectX versions from 9 to 11 doesn't support any blitting actions where the target and source surfaces are the one and the same surface. So, the D3D9Client will clone the surface.

Known Bugs:
- MFD buttons in glass cockpit won't always work.
- Meshes in AMSO are currupted. (The same will happen in D3D7Client)
- DeltaGlider IV will CTD. (The same will happen in D3D7Client)
- MFD Power button problems in VC of stock DeltaGlider. (Problem exists in D3D7Client)
- The VC of stock Atlantis doesn't show-up. Only the MFD screens are visible.



---------- Post added at 22:45 ---------- Previous post was at 22:42 ----------

Quote:
Originally Posted by DaveS View Post
 Can confirm the significant FPS boost here! Over 100 FPS with the very poly-heavy SSU on the launch pad! With the DX7 client it was a challenge to get it over 30.

So fantastic job so far! Keep it and this one will be a winner for sure! BTW, are animations implemented yet? Just checking to be sure.
It's good to hear that. The animations are implemented and they are working at least in DeltaGlider and XR2-Ravenstar.

Last edited by jarmonik; 11-01-2010 at 08:58 PM.
jarmonik is offline   Reply With Quote
Old 11-01-2010, 08:48 PM   #94
Xyon
Puts the Fun in Dysfunctional
 
Xyon's Avatar


Default

Quote:
Originally Posted by jarmonik View Post
 That's strange, I have never encountered anything like that. Does the same thing happen with every vessel ? Is anyone else able to reproduce this ? Am I just lucky that it works on my computer ?
I think it's because of the deltaglider module not being loaded. I haven't time to test with other vessels right now but I will before the night is over and we'll see what's wrong with it.

Quote:
Originally Posted by jarmonik View Post
 The D3D9Client doesn't change anything from any DLL.
Fair enough - Just seemed a little odd, but I recall that my deltaglider DLL is not stock - I swapped it out for one in this thread. I'll slip the stock module back in and see if it helps.


Quote:
Originally Posted by jedimaster1214 View Post
 Just out of curiosity, what's your computer specs?
I would absolutely LOVE to have 184 FPS.
Well, remember that's a very basic simulation with no vessel loaded (at all) and in orbit, though I usually grace 90 or so in standard Orbiter.

AMD Athlon XII 250 3GHz, 2GB DDR 2 RAM, Geforce 8600 GT. I want to upgrade the card to a GTX 460 soon though.

Quote:
Originally Posted by jedimaster1214 View Post
 It looks like this project is coming along nicely
Agreed, this is making serious progress!
Xyon is offline   Reply With Quote
Old 11-01-2010, 08:56 PM   #95
Thorton
sense offender
 
Thorton's Avatar
Default

Great work! Even at this stage it looks outstanding, thanks a lot!

Fps are very high with such hi-poly addons like SSU or my ISS.

However it seems i've found a bug with lightning. Looks like there is some problems with animated parts, they dont light properly. According to my observations light is applied to this pats without taking into account its current position.
Here is the example with DG:



As you can see here when DGs nose cone is open and DG is faced to sun, internal parts of cone are in dark and vice versa when DG is faced against sun.

Last edited by Thorton; 11-01-2010 at 08:58 PM.
Thorton is offline   Reply With Quote
Old 11-01-2010, 09:08 PM   #96
DaveS
Addon Developer
 
DaveS's Avatar


Default

Quote:
Originally Posted by jarmonik View Post
 It's good to hear that. The animations are implemented and they are working at least in DeltaGlider and XR2-Ravenstar.
Then I guess something in SSU is incompatible with the D3D9Client as no pad animations are working.

Also seems like the D3D9Client has several problems with the orbiter mesh. I have attached two screenshots, with the first one showing the problem and the second showing how it is supposed to look like.

I have also attached the D3D9Clientlog file.
Attached Thumbnails
SSU_orbiter_D3D9.jpg   SSU_orbiter_D3D7.jpg  
Attached Files
File Type: zip D3D9ClientLog.zip (3.9 KB, 6 views)
DaveS is online now   Reply With Quote
Old 11-01-2010, 09:43 PM   #97
jarmonik
Beta Tester

Default

Quote:
Originally Posted by Thorton View Post
 However it seems i've found a bug with lightning. Looks like there is some problems with animated parts, they dont light properly. According to my observations light is applied to this pats without taking into account its current position.

As you can see here when DGs nose cone is open and DG is faced to sun, internal parts of cone are in dark and vice versa when DG is faced against sun.
Thanks for leting me know. I found the bug, the animation matrix (mesh group transformatin matrix) wasn't applied to the normal vectors, this caused a failure in a lighting.

Here is a quick fix. Replace the existing section from MeshTech.fx with this one.
Code:
OutputVS MeshTechVS(float3 posL : POSITION0, float3 normalL : NORMAL0, float2 tex0: TEXCOORD0)
{
    // Zero output.
    OutputVS outVS = (OutputVS)0;
    
    // Apply a mesh group transformation matrix
    float3 posX = mul(float4(posL, 1.0f), gGrpT).xyz;
    float3 nrmX = mul(float4(normalL, 0.0f), gGrpT).xyz;
    float3 posW = mul(float4(posX, 1.0f), gW).xyz;

    // Convert transformed vertex position into a "screen" space using a combined (World, View and Projection) Matrix
    outVS.posH = mul(float4(posW, 1.0f), gVP);
    
    // A vector from the vertex to the camera
    outVS.toCamW = -posW;
    
    // No texture coordinate processing. Pass through.
    outVS.tex0 = tex0;
    outVS.normalW  = mul(float4(nrmX, 0.0f), gW).xyz;
    return outVS;
}


---------- Post added at 23:43 ---------- Previous post was at 23:13 ----------

Quote:
Originally Posted by DaveS View Post
 Then I guess something in SSU is incompatible with the D3D9Client as no pad animations are working.

Also seems like the D3D9Client has several problems with the orbiter mesh. I have attached two screenshots, with the first one showing the problem and the second showing how it is supposed to look like.

I have also attached the D3D9Clientlog file.
I'll install the SSU and take a closer look. Based on the log file it looks like the oapiBlit() is used between oapiGetDC() and oapiReleaseDC(). There is probably a way around this problem so no need to worry about it right now.

There isn't any code in Surface base section that's involved in animations in any way. It's possible that launch pad animations aren't implemented in GraphicsClient interface, yet. Do you know how the launch pad animations are made ?
jarmonik is offline   Reply With Quote
Thanked by:
Old 11-01-2010, 09:59 PM   #98
FordPrefect
Donator
 
FordPrefect's Avatar

Default

Great work Jarmo! The quick fix you posted above did it for me. Before that, I had issues with the solar panels on Thorton's ISS, looking good now.




Two observations: distance fog does not seem to work for me, also the horizon haze looks "inverse". It darkens the sky color towards the horizon. See next image:



Other than this, it runs smooth as silk. Very high FPS, even with high-poly meshes in view. Cannot reproduce the issues with the Delta glider (*.dll) as reported by Xyon.

What is the currently supported maximum planetary textures resolution level? It seems lower than in the standard Orbiter engine.

Very nice work there, Jarmo!
FordPrefect is offline   Reply With Quote
Old 11-01-2010, 10:05 PM   #99
Xyon
Puts the Fun in Dysfunctional
 
Xyon's Avatar


Default

Testing with an XR1 proved useful, and I thought to test the latest iteration of my own addon off against it, which works fine

Three things of note: Ground clipping isn't quite right; Whatever the UMMU did to make the gold visor cockpit thing work isn't working, so the visor is always closed (very hard to see ); and still getting a CTD on quitting Orbiter. Oh, and the oapiDebugString message space isn't cleared between sessions (When quitting to launchpad and starting a new scenario immediately).

Click image for larger version

Name:	ummuandclearance.png
Views:	32
Size:	410.7 KB
ID:	6114

My control issues were due to the faulty DeltaGlider module I had, slipping the stock module back in fixed that up nicely.
Xyon is offline   Reply With Quote
Old 11-01-2010, 10:11 PM   #100
FordPrefect
Donator
 
FordPrefect's Avatar

Default

Quote:
Originally Posted by Xyon View Post
 ...and still getting a CTD on quitting Orbiter. Oh, and the oapiDebugString message space isn't cleared between sessions (When quitting to launchpad and starting a new scenario immediately)
Here, Orbiter quits as it should (going back to the launchpad), however when restarting the simulation right out of the launch pad again from current state, I get an error messge and subsequent CTD.
FordPrefect is offline   Reply With Quote
Old 11-01-2010, 11:29 PM   #101
jarmonik
Beta Tester

Default

Quote:
Originally Posted by FordPrefect View Post
 Two observations: distance fog does not seem to work for me, also the horizon haze looks "inverse". It darkens the sky color towards the horizon.
Yes, there is something odd. I also noticed that the sun is a little brighter in the build-in engine. It might have some effects. I'll take a beter look tomorrow.

You can invert it by replacing the following section from PlanetTech.fx but it will make it worse.
Code:
float4 HazeTechPS(float4 color : TEXCOORD0, float2 tex0 : TEXCOORD1) : COLOR
{
    return color * (1.0f-tex2D(Tex0S, tex0).a);
}
Quote:
Originally Posted by FordPrefect View Post
 What is the currently supported maximum planetary textures resolution level?
It was 14 a while ago but it seems to be broken.
jarmonik is offline   Reply With Quote
Old 11-02-2010, 01:59 AM   #102
DaveS
Addon Developer
 
DaveS's Avatar


Default

Quote:
Originally Posted by jarmonik View Post
 There isn't any code in Surface base section that's involved in animations in any way. It's possible that launch pad animations aren't implemented in GraphicsClient interface, yet. Do you know how the launch pad animations are made ?
The launch pad is a normal Orbiter vessel where each element is loaded as it's own mesh (FSS, RSS, water tower and hardstand).

Could this be the problem? That the client can't handle multi-mesh vessels with animations yet?

---------- Post added at 02:59 AM ---------- Previous post was at 02:33 AM ----------

Another problem that you might have noticed in the log is that the client fails to render the SSU orbiter VC. It's just black, nothing there.
DaveS is online now   Reply With Quote
Old 11-02-2010, 09:56 AM   #103
Thorton
sense offender
 
Thorton's Avatar
Default

Quote:
That the client can't handle multi-mesh vessels with animations yet?
I highly doubt that, my ISS is also multi mesh vessel with various animations and it works fine with D3D9 client.
Thorton is offline   Reply With Quote
Old 11-02-2010, 11:05 AM   #104
DaveS
Addon Developer
 
DaveS's Avatar


Default

Quote:
Originally Posted by Thorton View Post
 I highly doubt that, my ISS is also multi mesh vessel with various animations and it works fine with D3D9 client.
Then I don't know. It's a perfectly normal Orbiter vessel with perfectly normal animations (rotations and translations).

If wanted, I could provide a debug package with the pad meshes, textures and latest module for analysis. It works perfectly fine without the SSU shuttle.
DaveS is online now   Reply With Quote
Old 11-02-2010, 11:38 AM   #105
Thorton
sense offender
 
Thorton's Avatar
Default

Ok, i was wrong.
There is the problem with complex animation, but the cause is unclear. I have this particular problem with Soyuz launchpad too, but it's Ok with ISS.




Looks like i've found roots of the problem:

When i need to animate whole mesh and avoid to list all groups in code i'm using this consruction:
Code:
PlatformTransl = new MGROUP_TRANSLATE(PlatformMesh, NULL, 0, PLATFORM_SHIFT);
It seems that that client process this line wrong, maybe it considers that there is no group to animate.
I listed directly all groups, replaced line above by following code and now animation works:
Code:
static UINT plat01[2] = {0, 1};
PlatformTransl = new MGROUP_TRANSLATE(PlatformMesh, plat01, 2, PLATFORM_SHIFT);

Last edited by Thorton; 11-02-2010 at 12:35 PM.
Thorton is offline   Reply With Quote
Reply

  Orbiter-Forum > Orbiter Space Flight Simulator > Orbiter Visualization Project

Tags
d3d9client, graphicsclient


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 04:16 AM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright 2007 - 2012, Orbiter-Forum.com. All rights reserved.