Outerra forum

Outerra Engine => Technology => Topic started by: helio2 on November 29, 2009, 03:35:39 am

Title: Atmosphere rendering
Post by: helio2 on November 29, 2009, 03:35:39 am
How are you guys rendering the atmosphere in the game?
Will there be like Day and night cycles? Does the sky graduallyblend into darker shades of blue or red/orange at dawn or sunset then dark blue and into black?  I have seen some of the still images but they dont show whether the day/night time cycles. Also will clouds be implemented into the atmosphere?
On the night side how are you guys doing the stars if you guys are planing on night time effects for the atmosphere.
Or how are you guys doing it?
Title: Atmosphere rendering
Post by: cameni on November 29, 2009, 04:05:56 am
The atmosphere is rendered by computing approximate atmospheric scattering by O'Neil (http://sponeil.net/). The day/night cycle and the transitions are there, although the night side will have to be rendered differently.
Current implementation has some bugs, for example with the haze; we shall fix it when we get there again.
We may also integrate SimulWeather (http://www.simul.co.uk/weather) with its atmosphere rendering and clouds.
Title: Atmosphere rendering
Post by: Davidcam12 on September 05, 2010, 06:14:08 am
I want make a cloudy atmosphere in the game..How can I create it? Is this possible?

I can't create Day/Night cycle using O'Neil..Please help me creating this.

Thanks...
Title: Atmosphere rendering
Post by: cameni on September 05, 2010, 06:52:06 am
Quote from: Davidcam12
I want make a cloudy atmosphere in the game..How can I create it? Is this possible?
We didn't deal with the clouds yet, but you may take a look at SimulWeather (http://www.simul.co.uk/weather)

Quote
I can't create Day/Night cycle using O'Neil..Please help me creating this.
What kind of problems do you have, can you describe it?
Title: Atmosphere rendering
Post by: Edding3000 on October 11, 2010, 02:25:58 pm
Question about lighting.
Have you already implemented other lighting than atmospheric scattering?
If so: how do you handle the binding of lights to objects:

Myself i'm doing the following: Cullable objects (geometry and lights) are inserted into an octree. This is culled for visible and invisible. Then visible lights are coupled with an intersect to visible geometry. This seems slow though. (some kinf of caching already exists, not-dirty objects dont need an update)
Title: Atmosphere rendering
Post by: cameni on October 11, 2010, 02:34:35 pm
Quote from: Edding3000
Have you already implemented other lighting than atmospheric scattering?
Not yet, but we'll probably go after deferred lighting, or some optimized combination of it and of the existing global lighting.
Title: Atmosphere rendering
Post by: Edding3000 on October 11, 2010, 06:57:59 pm
Quote from: brano.kemen
Quote from: Edding3000
Have you already implemented other lighting than atmospheric scattering?
Not yet, but we'll probably go after deferred lighting, or some optimized combination of it and of the existing global lighting.
Deferred lighting sounds very interesting to me too. But not for transparant objects. So my rendering pipeline is still 100% forward. But, a deferred one does sounds very appealing to me. It's just the amount of work it costs to add it. Due to that it's kinda low on my priority list. A material builder (create materials drag and drop) is coming together now! Now i need to implement model loading and shadows (another shitty job). Furthermore i need a difference between static and dynamic geometry and lights (lightmapping to enlighten the rendering pipeline AND the cpu update).
It's still looking very very very simple here, but some basic engine functions are coming online very slowly (i'm still not satisfied with light geometry binding perofrmance). Maybe in a couple of months im able to show something too.
Well my story about my own engine wont interest you that much so i'll leave it for now ;).

Furthermore i'm interested in some other things concerning flight simulation.
How far are you with this?
- Pressure differences at altitude and temperature?
- how do you handle physics (based on a simplified model, or a 'text file' with aircraft properties?)

Furthermore (to come back to the atmosphere): is it like -> sun down -> no light? or is the algorithm so good that it can handle twilight (sun down->still light from sun)?
Also: I read months ago that complete fractal planets or even other planets (moon, marsh) are very difficult to create due too engine parameters that are earth specific and cant be modified very easily. Is it still that way? and if so, do you plan to make this easier?

and the last question:
WHEN are 3d tree's going to be implemented :P. I've been waiting for them for MONTHS :D... I understand though that other things have priority (small development teams are great, but you have to set priorities!)
Title: Atmosphere rendering
Post by: cameni on October 12, 2010, 04:22:00 am
The complexity in the forward renderer is what is driving us away from it to the deferred one, but I'm actually looking for a combined solution for performance reasons. In the end it will be probably something specially tailored for the engine, and it's premature to talk about it when we didn't ponder over it deeper yet.

Flight dynamics is handled by JSBSim that simulates and considers many things, one thing that is missing are the external forces from a weather system. Aircraft properties are defined in a xml file in JSBSim.

Night sky lighting isn't implemented yet, the reason is that we need to have an HDR there to handle the intensities as everything is physical, and then the Moon is missing which is the main contributor there.
But there's still light when the sun is down. As long as it lights the atmosphere, some light scatters away to the camera and to the terrain. This part is not yet finished completely though, as the secondary scattering (multiple light scattering from sun rays) becomes significant during the twilight. As the result that part is slightly darker than it should be.

Completely fractal planets need a component that will generate the upper layer of data for the planet, as I don't believe that a single fractal algorithm would be capable of generating believable and realistic-looking planets. And some artistic input will be requested anyway.
Other planets can be done, but we need to make everything configurable. And with the stuff still changing all the time we aren't rushing with it, but it's definitely in the plan.

3D trees .. hopefully we'll be toying with the tree generator soon. Basically, it should be developed along with the climate data support, so some time this year. Not rushing it either :)
Title: Atmosphere rendering
Post by: Kridian on October 12, 2010, 10:32:37 am
Yeah, that SimulWeather is top shelf cloud rendering!  Wow!  I hope they cut you a deal on the licensing.
Title: Atmosphere rendering
Post by: Edding3000 on October 12, 2010, 11:18:54 am
Quote from: brano.kemen
3D trees .. hopefully we'll be toying with the tree generator soon. Basically, it should be developed along with the climate data support, so some time this year. Not rushing it either :)
Great! 3D trees would really enhance the graphics at ground level, and climate support well that would at least give significant changes in the graphics from space (as it's all green and white now).

This engine is really the best thing concerning large outdoor scenes that is developed at the moment for sure!
Title: Atmosphere rendering
Post by: RaikoRaufoss on October 12, 2010, 11:51:31 am
Hooray, 3D trees!  Can't wait for them!
Title: Atmosphere rendering
Post by: Jagerbomber on October 12, 2010, 12:21:43 pm
If it wouldn't already, 3D trees are gonna make it miserable to run on my computer. :/
Hopefully I'll be able to upgrade soon.
Title: Atmosphere rendering
Post by: ZeosPantera on October 12, 2010, 02:02:46 pm
Quote from: Jagerbomber
If it wouldn't already, 3D trees are gonna make it miserable to run on my computer. :/
Hopefully I'll be able to upgrade soon.

Would depend on the LOD distance settings really.