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 01-21-2012, 01:57 AM   #91
asmi
Addon Developer
Arrow

Quote:
Originally Posted by Astronut25 View Post
 I've already made some normal maps for the XR2, XR5, Space Shuttle, ISS, and many more. (XR2 & ISS are here http://orbiter-forum.com/showthread....&postcount=694)

I used Gimp & a free Normal Map mod to create these.
I found normal map generator for Paint.NET and played around with it. Here is a screenshot of XR2 like you've never seen before
Click image for larger version

Name:	orbiter_XR2_mynorms.jpg
Views:	110
Size:	70.1 KB
ID:	9059
I've also tweaked bloom effect a bit - now I think it looks more like a real thing.
My fork is now updated with latest binaries, shaders, also I've added a normal map for XR2 that I used during making this screenshot.
Enjoy!
asmi is offline   Reply With Quote
Thanked by:
Old 01-21-2012, 02:20 AM   #92
asmi
Addon Developer
Default

I've added "D3D11CLIENT README.txt" file to SC with installation/running instructions to help those who want to give it a try, but is not sure how to approach it. Here are its contents:
Quote:
Requirements:
OS: Windows Vista 32/64 bit or newer.
Video card: minimum Direct3D 10-compatible, Direct3D 11-compatible recommended as some effects currently work only on Direct3D 11 level hardware
Orbiter: current build is only compatible with 111105 Beta, which can be downloaded from here: http://sourceforge.net/apps/mediawik...iterPublicBeta

Installation/running instructions:
1. install DirectX 11 June 2010 update. It can be downloaded from here: http://www.microsoft.com/download/en...s.aspx?id=8109
2. download D3D11Client.dll from /Modules/Plugin folder in repository and put it in \Modules\Plugin subdirectory of Orbiter's installation
3. download entire /Modules/D3D11Shaders folder and put it inside \Modules subdirectory of Orbiter's installation.
4. launch Orbiter_ng.exe from Orbiter's root folder, go to "Modules" tab and check D3D11Client - it's under "Graphic engines" category.
5. now go to "Video" tab and set desired window size (currently fullscreen is not supported), then click "D3D11Client Configuration" button and set up client options the way you prefer.
6. After you're done with settings, go to "Scenarios" tab, choose desired scenario and hit "Launch Orbiter" button.
7. Enjoy!
Just a reminder - the client can be downloaded from face's repository: https://bitbucket.org/face/ovp/wiki/Home in "D3D11Client" branch, or, most up-to-date version can be taken directly from my fork https://bitbucket.org/asmi/ovp ("D3D11Client" branch), but at times there might be unstable version as this is my primary working repository and it's where I put all my latest and greatest (and sometimes buggiest ) version.
asmi is offline   Reply With Quote
Old 01-21-2012, 02:39 AM   #93
NovaSilisko
The Siliskoiest of Siliskos
 
NovaSilisko's Avatar
Default

Forgive me if I'm being thick, but I can't seem to find a way to download a complete archive...
NovaSilisko is offline   Reply With Quote
Old 01-21-2012, 03:02 AM   #94
asmi
Addon Developer
Default

Last thing - as I promised yesterday, I'd like to discuss how are we going to implemented post-processing effects for FL10 like those I've implemented for FL11. Implementation is inside Scene::Render3DCompleted() method and I've put comments to describe what's going on there, but here is a high-level algorighm:

1. Process image rendered to texture to calculate scene luminance. Currently it's implemented as two-stage iterative process, first stage being reducing 2D texture to 1D texture with caclulated sums of 8x8 pixels area, and then iterative further reduction to 128 times a pass. Compute Shaders are inside HDR_CalculateLuminance.hlsl (first stage) and HDR_Reduce.hlsl (second stage). Algorithms are pretty straightforward - please refer to code for details. After the process is completed, exposure is being calculated using formula exposure = 1 - luminance - this value will be used in later stages for tone-mapping and so-called "bright pass" to create bloom texture.

2. Create bloom texture by performing bright-pass (substracting BRIGHT_THRESHOLD value - defined in HDR_Includes.hlsl) and tune-mapping - increasing/reducing texture brightness using luminance - this is part of HDR lighting effect. Note that bloom texture is always created non-multisampled regardless from MSAA settings - with linear samples interpolation for MSAA modes.

3. Next step is downsampling bloom texture by factor of 2. It's a very simple algorighm that averages 2x2 pixel in original texture and writes result to output texture. See HDR_Downsample.hlsl.

4. After that we perform Gaussian blur. After some trial-and-error, I've settled down on 17-tap gaussian blur filter with standard deviation of 4. I calculated weights using MS Excel file published here: http://theinstructionlimit.com/gauss...sited-part-two (I've uploaded this Excel file to SC). This is a two-pass process consisting of horizontal and vertical passes. Again, algorithm is pretty simple - see HDR_GaussianBlur.hlsl

5. Then we upsample bloom texture back to original size. Here after some trial-and-error I came up with my own algorithm, see HDR_Upsample.hlsl for details. Kernel weights were calculated using Excel file upscale-filter.xlsx - I "invented" up with it myself

6. Next thing is combining bloom texture with original texture and tone-mapping original image. This is very simple shader, see HDR_CopyTextureWithExposure.hlsl.

7. Rendering a fullscreen quad onto backbuffer to display resulted image - this is the ONLY stage that is performed using regular pipeline - all of the rest is implemented in Compute Shaders.

So now I'd like to hear some ideas regarding how this can be implemented on FL10-level hardware Thanks in advance for any ideas!

---------- Post added at 22:02 ---------- Previous post was at 21:55 ----------

Quote:
Originally Posted by NovaSilisko View Post
 Forgive me if I'm being thick, but I can't seem to find a way to download a complete archive...
No worries - I had the same problem first time I tried to get it So here is how to get it:
1. Go to https://bitbucket.org/asmi/ovp and choose "D3D11Client" branch by hovering "Branches" link on the left top part of the screen and selecting a branch from menu that opened up.
2. Hover "get source" link on the top right part of the screen and choose "zip". You'll get file with name like "asmi-ovp-e90912175309.zip".
3. Unpack archive somewhere - you'll get folder "asmi-ovp-e90912175309" (your actual folder name may be different, but it doesn't matter). Nagivate inside and copy everything you'll find inside to the Orbiter's root folder. IMPORTANT - you need Orbiter 2010 P2 111105 beta in order for the client to work - please refer to readme file for download link. I'd suggest you to create a copy of your current Orbiter's installation to avoid having to reinstall all of this should there be any problems.

Then read "D3D11CLIENT README.txt" file for further instructions. You may skip items 2 and 3 as you will be done with copying files at that point.

Let me know if you still have any questions or require additional assistance.
Please report here any issues you'll discover during running the client. Thank you!

Last edited by asmi; 01-21-2012 at 03:10 AM.
asmi is offline   Reply With Quote
Old 01-21-2012, 03:06 AM   #95
Felipi1205
Spaceflight enthusiast
 
Felipi1205's Avatar
Default

I'm having some problems. When I click on the Video tab, a window appear and it says:

Critical Error
Device Creation Failed

What can I do?

Last edited by Felipi1205; 01-21-2012 at 03:16 AM.
Felipi1205 is offline   Reply With Quote
Old 01-21-2012, 03:38 AM   #96
asmi
Addon Developer
Default

Quote:
Originally Posted by Felipi1205 View Post
 I'm having some problems. When I click on the Video tab, a window appear and it says:

Critical Error
Device Creation Failed

What can I do?
I've added displaying error message so it can help me diagnosing the issue. Please download updated version from my SC and try again. Please post here whatever error messages you will get. Thank you in advance!
asmi is offline   Reply With Quote
Old 01-21-2012, 12:04 PM   #97
Felipi1205
Spaceflight enthusiast
 
Felipi1205's Avatar
Default

0x887A0004
Felipi1205 is offline   Reply With Quote
Thanked by:
Old 01-21-2012, 12:40 PM   #98
asmi
Addon Developer
Default

Quote:
Originally Posted by Felipi1205 View Post
 0x887A0004
It means DXGI_ERROR_UNSUPPORTED. I googled a bit and it seems that your video card is not Direct3D 10-compliant. Can you please tell what kind of card is it?
asmi is offline   Reply With Quote
Old 01-21-2012, 12:42 PM   #99
Felipi1205
Spaceflight enthusiast
 
Felipi1205's Avatar
Default

Intel G33/G31. And I'm using Windows 7, it uses DirectX 11
Felipi1205 is offline   Reply With Quote
Old 01-21-2012, 12:48 PM   #100
asmi
Addon Developer
Default

Quote:
Originally Posted by Felipi1205 View Post
 Intel G33/G31. And I'm using Windows 7, it uses DirectX 11
I'm sorry to tell this, but according to http://www.intel.com/support/graphic.../cs-011807.htm your video card does not support DirectX 10 - it only supports DirectX 9. This client requires at least DirectX-10 level hardware.
asmi is offline   Reply With Quote
Old 01-21-2012, 12:50 PM   #101
Felipi1205
Spaceflight enthusiast
 
Felipi1205's Avatar
Default

Felipi1205 is offline   Reply With Quote
Old 01-21-2012, 12:51 PM   #102
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by asmi View Post
 Oh, and Face - please merge in back to your branch.
I'll do so, but I want to stay with the 2010P1 version, so it might take a while until I push the merge...
Face is offline   Reply With Quote
Old 01-21-2012, 05:19 PM   #103
asmi
Addon Developer
Default

Good news - I've finally got to the bottom of this issue with displaying/not displaying Sun - invalid RS state was set up for star rendering. It's now fixed and committed to my SC. I've also updated binary.

---------- Post added at 12:19 ---------- Previous post was at 12:14 ----------

Quote:
Originally Posted by Face View Post
 I'll do so, but I want to stay with the 2010P1 version, so it might take a while until I push the merge...
Ok, whatever you prefer. Since there are just a few changes, if you want you can take my code and adapt it in so it would work and compile with 2010 P1 - it should be fairly simple. For convenience you can create a conditional compilation so it will be possible to build it against both beta and release versions.
asmi is offline   Reply With Quote
Thanked by:
Old 01-21-2012, 08:43 PM   #104
Veterok
Orbinaut
 
Veterok's Avatar
Default

I put together a level_7 normal map for the moon a while back. (image source: LOLA Science Team)

I thought it might be of some use to Glider if he's working on planetary normal map support.

Assuming D3D11 will use the .tex format for planet normals.

Attached Files
File Type: zip moon_norm.zip (3.49 MB, 12 views)
Veterok is offline   Reply With Quote
Old 01-21-2012, 09:27 PM   #105
Glider
Addon Developer
 
Glider's Avatar
Default

Quote:
Originally Posted by Veterok View Post
 I put together a level_7 normal map for the moon a while back. (image source: LOLA Science Team)

I thought it might be of some use to Glider if he's working on planetary normal map support.

Assuming D3D11 will use the .tex format for planet normals.

{image}
Thanks. I was about to start writing a converter for Celestia normal maps in order to test normal map support that I've already implemented.

BTW, I've already created new terrain code (for vegetation too, but that thing isn't debugged so far and will require a lot of work on textures and meshes) with support of normal, height and LCC maps. Currently it is able to work with up to L18 tile mesh resolution and performance similar to old tilemanager (it can render L19 and L20 as well, but float precision is too low for them to be rendered properly.) Though, L18 seems to be enough for detailed terrain.

D3D11 will use _norm.bin for L9-LMAX texture offset data, _norm.tex for L1-L8, and _tile_norm.tex for L9-LMAX.
Glider is offline   Reply With Quote
Thanked by:
Reply

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


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 08:25 PM.

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 - 2018, Jelsoft Enterprises Ltd.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.