MAIN PICTURE SLIDER

Friday, October 21, 2011

FSDreamteam : a short interview on technical questions

I want to share with you these answers from Umberto Colapicchioni, next to L.A. airport release. These have been sent to me last month for a FS mag. Some of these explanations have already been widely developed on their forum.
The questions give you a clear idea of my modest knowledge about scenery dev.

Hi Umberto,

1) In the KLAX page, features, you talk about volumetric prerendered lights, but what is the basic principle ?

FSDreamteam / Umberto Colapicchioni : Volumetric Lights and Ambient Occlusions are two different things, but they both contribute a lot to the image realism.

Volumetric Lights apply mostly to night textures, instead of hand-painting night textures or using photographs, we rendered the scenery by placing lots of light sources in a rendering program ( about a thousand of them ), in the same locations as they would be in the real world, and the renderer generated the night textures by taking into account all different light sources and resulting shadows, something that wouldn't be possible by hand, and it would never work using real pictures, since they are all taken with different angles, light, etc.

Not everything in the scenery is made like that, because textures that are repeated a lot (like jetways) can't use this method (we would need a separate jetway texture for each single jetway, it would be very expensive to render), but most of the buildings and the ground textures are, and the beauty of it is, since it's all pre-rendered, there's no limit how many light sources we can add, and it won't effect frame rate at all, since it's all burned in the textures.

The final result is quite apparent. In fact, I've read a comment on your blog that night textures at KLAX are the best ever seen.


Airdailyx : And what do you mean by "ambient occlusions" ?

That's a different effect, but it still related to the fact the scenery use a lot of pre-rendering on textures.

Ambient Occlusion might look similar to shadows, but there's a difference: while full shadows depends on a directional light source (the Sun), they can change a lot during the day, which means they shouldn't be burned in the textures, since they would be correct only for a specific time of the day.

Ambient Occlusions, instead, are the shadow component that is not dependent by the direction of the primary light source, they always appear, because they are the result of objects or part of them occluding other objects.


See an explanation here:


They give lots of depth to the objects, sometimes developers (we did that in the past, quite a lot) made them manually, by simply applying localized gradients retouches to the textures, we used an automatic approach to let the rendering program calculate them with greater precision.


2) Airdailyx : What are ground shaders and how do you generate them ?

Are we talking about ground shadows ? My question must be odd for you but i never found a good translation of shaders (for french).

Umberto : Shaders are a standard FSX feature, and in FSX are used to create effects like Bump-mapping, Specular Mapping, Environment Mapping and Bloom.

They are programs written in the GPU language, that creates effects by reading one or more textures, and interpreting their pixel value in special ways. For example, one of the default shader use the Rgb and Alpha values of a texture to set the Specular intensity/power parameters. Another one use the Alpha values to set the environmental reflections, and so on.

To use FSX shaders, a scenery must be compiled with the FSX SDK and its materials should be set as specific FSX materials.

Usually, it's not a problem creating FSX sceneries with shaders on regular 3d objects, and many FSX sceneries out there already use them.

However, it's usually considered not possible to use the FSX SDK to create ground scenery polygons, the most common used method is using the FS8 SDK to compile an old style BGL with code hand-tweaked to allow different layers and set priorities.

This approach works in FSX, because FSX explicitly treats this kind of code as a special case of ground objects, making it compatible with the spherical coordinates system in FSX (the "Round earth" problem), this is how 99% of the FSX sceneries are made. Using FSX SDK to create ground scenery would result in lots of flickering, because the scenery is not recognized by FSX as being ground and is not treated like the FS8 code.

However, using FS8 polygons prevent to use Shaders materials, so the quality of the ground scenery would be exactly like FS9 (no bump-maps, no specular maps, no rain effects, etc), and also results in slow performances, especially with several layers of polygons, which are usually needed to create layers like base photoreal textures, detail textures, taxi lines, flat signs on ground, etc.

Our method, instead, use only FSX code, which means we can use FSX Shaders materials even on ground, and we don't suffer the performance impact of having several layers of FS8 code, and we reduce polygons too, since with shaders there's no need to use ground polygons to create detail textures, because the different areas of different detail textures are specified in the texture themselves.

This couldn't work just using the FSX SDK alone, because of the ground flickering problem, that we solve with the help of the Addon Manager module, that adjust the scenery in real-time to prevent the flickering.


3) What do you call inverse-kinematics for jetways ?

This is the official way of making jetways in the FSX way, which works without having to buy other add ons, with the standard CTRL+J command.


4) Did you develop KLAX airport to be "GSX ready" ?

Yes, we made many objects (mainly the static vehicles at the parking stands) flagged in a specific way so that GSX will be able to remove when needed, so there will be no chance for conflicting objects.

Thanks again to Umberto who took his time to answer me !
That was not useless for me and if this interview can helpany of you..

Dom

2 comments:

Anonymous said...

Great interview. Perhaps Umberto can know that other developers (Bajasim) don't need an addon manager to prevent flickering in FSX ground. Perhaps Bajasim can teach a thing or two to FSDT. And also all other developers. If Bajasim can do it, all others can.

Umberto Colapicchioni said...

Dear Anonymous, here's why...

http://www.fsdeveloper.com/forum/showpost.php?p=273298&postcount=25

Post a Comment

Comments are now deactivated. Please visit our new website: AirDailyX.net

Note: Only a member of this blog may post a comment.