From FlightGear wiki
Jump to navigation Jump to search

Goals for the 3.0 release

It has emerged from forum discussions that gathering the goals for developers so that people can synchronize efforts better and users know what to expect would be a good idea. I've sort of been trying to do that previously, so I might as well continue, even if it's a bit early and 2.10 isn't rolling out yet.

My project goals till a 3.0 release are:

  • Get a high-quality model shader running under Atmospheric Light Scattering

Pretty straightforward, has been requested a number of times, it's on the agenda and I hope to have it in the next month

  • Implement a scheme for generating autumn colors procedurally

I'm currently on that by encoding the amount of autumn color rotation in the texture alpha channel - some proof of principle here:

There are still open questions how to do trees efficiently (I would like to switch to the autumn version of trees at some point, but I don't know how to do this without always loading both sheets. It'd be way more efficient to simply color-rotate the tree texture sheet, but then I don't know how to discriminate needle trees on the mixed forest sheet) and lots of detail work needs to be done, but I expect that we'll soon be able to generate lots of different seasonal and environment-influenced themes from the same basic texture set. It'll never be as good as creating dediicated autumn textures, but... it smoothy interpolates between summer and autumn.

  • make clouds render faster

Stuart has a nice new scheme which looks promising, I wonder if I should come back to the tracer scheme - basically we should be able to get 20-30% faster in overcast conditions.

  • Improve cloud appearance from high altitude

I'm currently quite happy with the quality of clouds from below the main layer and from above up to about 20.000 ft - then the limited range in which we generate clouds (currently we can draw about 75 km in Advanced Weather) starts being an issue and the nature of the cloud placement patterns becomes too apparent. I plan to work on improving the placement algorithms and perhaps, if I have a good idea, devise a scheme which can 'fake' cloud cover beyond the 75 km range (I don't think we need to track single clouds across that distance).

  • The 'ultra' terrain shader

The current highest detail terrain shader is limited by the performance I could squeeze out of the 8600M. For that reason, I have limited myself to three (instead of four) overlay textures and not used explicit separate gradient textures, and I do not generate as much structures at various scales than I'd like. It turns out the shader doesn't slow the GTX 670M appreciably, so I would like to write the 'ultra' terrain shader for high-end graphics cards in which performance isn't a design goal. The ultra could combine the functionality of the gradient transitions in the current default scheme and procedural texturing, would offer detail resolution on cm-scale and calculate specular light reflection e.g. from wet surfaces exactly rather than approximated.

  • Regional texturing

I plan to regionalize a few more places. Islands are the obvious targets, so perhaps England/Ireland (if nobody beats me to it), Japan, Indonesia and Australia would seem good. Otherwise the subarctic regions might deserve a look, I've always liked Alaska.

In addition, there are two more issues which should be mentioned:

  • Atmospheric light scattering and Rembrandt

After thinking about this for a while, I have decided that I am definitely not going to do this on my own. Being maintainer of one major rendering scheme and one weather system is quite enough to keep me busy, and it's not something which is very close to my heart. However, if there is a decision that there is going to be a team effort making this work, I will join it and do my part.

  • Weather synchronization over MP

This comes up as an issue every few months. Since I am not doing any MP at all, I will not work on this. I have, as a theoretical exercise, devised a scheme which would in all likelihood work reasonably well. If anyone wants to work on this, I can outline the scheme and offer limited help.

So, that's the plan for the next months, in case anyone is interested in.