FS2004 How to optimize textured ground polygons

#1
Hi,

I have an airport which has been made in Gmax. Unfortunately from a lower altitude it looks very unsharp although the source image had a resolution of 7168x5120.

How does Gmax handle so big images? When I'm loading a bigger one to Gmax an error mesage appears that Gmax can't load the image. So I cannot chose an image with an higher resolution.

From a hight of 3000 feet it looks very sharp but under that height it gets very unsharp. I compared mine with commercial ones (Flytampa Vienna, Aerosoft Mega Airport, ...) and noticed that they are looking much better from a lower height. Is there a special technic for that? Some airports such as Aerosoft MA Zurich has additonal 2d gras on top of the image (see second picture), other ones such as MA Munich or Aerosoft German Airports are a little bit blurred so that you do not see the pixels. How can I get this? I tried already editing the the files in Gimp and add a blur but it didn't look as good as I would want to have it.

Here are some shots for better understanding
(my English is not the best one; unfortunately) ;)

from the ground of my airport:

upload_2015-5-28_0-45-45.jpeg


This is the ground of Aerosofts Mega Airport Zurich:

upload_2015-5-28_0-46-4.jpeg



I hope someone can help me
 
Last edited:
#2
Hello:

FS9 can use textures up to Max: 1024x1024 pixel resolution on 3D scenery objects (which includes G-Polys) when FS9 SDK methods are used.

IIUC, by making a G-Poly, you have ultimately used the FS2002 SDK method to make your G-Poly, which like the FS2004 SDK, potentially also could create multiple mappings of textures of max. 1024x1024 pixels in size ...to drape partial 'segments' of the total aerial imagery file onto the 3D flat surface of the G-Poly.

AFAIK, if custom textures mapped onto a G-Poly use sizes greater than 1024x1024 pixel dimensions and do not also include MIPMAPs within the texture file, then FS9 will be unable to display the G-Poly texture at 1024x1024 pixels, and it will try to "synthesize" a 256x256 pixel MIPMAP "on-the-fly" at run time, which is likely to result in a blurry texture.

IIUC, in such scenarios, if custom textures mapped onto a G-Poly use sizes greater than 1024x1024 pixel dimensions (ex: 7168x5120 pixels) and do also include MIPMAPs within the texture file, then FS9 will still 'fall back' to display of the textures at the default max. 256x256 pixels resolution (which BTW, is the lower resolution of the default or 3rd party land class textures.

WHY ? :scratchch

Because one must edit the 'active' FS9.Cfg file as follows: ;)

[GRAPHICS]
TEXTURE_MAX_LOAD=1024


...to allow display of up to 1024x1024 size textures on 3D scenery objects.

G-Poly texture "materials" must be mapped to BMP files containing such a image size either as a 'single' resolution MIPMAP image, or containing multiple MIPMAP images, (1) of which is 1024x1024 pixels.


NOTE: In Windows XP, the active' FS9.Cfg file is in:

C:\Documents and Settings\[User_Profile_Name]\Application Data\Microsoft\FS9.

In Windows 7, the active' FS9.Cfg file is in:

C:\Users\[User_Profile_Name]\AppData\Roaming\Microsoft\FS9\

This is a hidden folder by default, so you need to modify the folder options via the Folder Options applet in Windows Control Panel; go to the [View tab] and check the "Show hidden files and folders" option



Jim Robinson posted an excellent illustrated treatise on the topic of MIPMAPs and texture display in FS9 at: :teacher:

http://www.fsdeveloper.com/forum/threads/1024x1024-rock-textures.426477/



Technically, it is 'possible' to include MIPMAPs within a 7168x5120 pixel custom texture mapped onto a G-Poly which will allow the Max. 1024x1024 pixel MIPMAP image to be displayed at run time in FS9.

However, the best procedure to reduce memory use and waste of USERVA space allocation in the FS9 Windows task session (especially in 32-bit Windows XP), is to copy the aerial imagery file and cut it into Max. 1024x1024 size pieces ...and use those partial 'segments' of the total aerial imagery file to texture the G-Poly.


AFAIK, MIPMAPs should be used for textures on terrain & 3D scenery objects (which includes G-Polys).


FYI: FS9 can use textures up to Max: 256x256 pixel resolution on "land class textures" (which includes custom photo-real terrain-mesh-clinging land class textures made via FS9 SDK Resample).

FS9 terrain tiles mapped with default or 3rd party land class textures (which includes FS9 SDK Resample custom photo-real) are limited to Max. 256x256 pixels mapped over approximately 1023x1023 Meter terrain grid quad tile areas on the ground.

This hard-coded limit within the FS9 rendering engine results in each of the 256x256 pixels in a bitmap being mapped onto 4.75 Meters of ground ...for an effective maximum resolution of "4.75 Meters/pixel" for land class (which includes custom photo-real terrain-mesh-clinging land class textures made via FS9 SDK Resample).

PS: Both FS9 land class textured ground tiles and airport background polygon textures (a special type of land class) at Max. 256x256 pixels ...will also always display at a lower resolution than a custom-textured G-Poly ...when that G-Poly uses Max. 1024x1024 pixel segments of aerial imagery to cover that 3D 'flat' scenery object (placed immediately above- and not at the 'same' level of- the 'flat' ground at an ex: airport).

Hope this helps ! :)

GaryGB
 
Last edited:
#3
<:yikes:> It is apparent one of the Admins here at FSDeveloper moved and/or "dual-linked" this thread from:

Home Forums > Microsoft Flight Simulator development > Scenery Design - Terrain Design

...into:

Home Forums > Microsoft Flight Simulator development > Scenery Design - Airport Design > Airport Design General


Most of this topic deals with SBuilder issues, and provides unique information important to SBuilder users. :pushpin:

Since the OP has yet to indicate that he has used the ex: ADE GP Tool instead of the Ground Polygon Wizard in ModelConverterX, I believe this 'virtual' change of topic of location might be considered a bit "off-topic" and particularly inappropriate if the topic listing for this thread eventually vanishes entirely from the SBuilder Forum (...where this intensively-researched information on a poorly documented aspect of SBuilder for FS9 and MSFS legacy terrain coding is more likely to be sought / discussed / utilized). :stirthepo

IMHO, G-Polys are more topic-specific to 3D modeling / texturing and terrain ...than they are to airports, especially considering the OPs line of inquiry on the fundamentals of how G-Polys are to be made and implemented ! o_O


Flugsimulatorpilot:

< Right about now might be a good time to share a 'first name' with us ! ;) >


* Please tell us which utility you are using to make your G-Poly: :scratchch

"ADE GP Tool" in Airport Design Editor (aka "ADE")

...or:

Ground Polygon Wizard in ModelConverterX (aka "MCX")


Thanks in advance for your reply,

GaryGB


========================================================

PS: Pending the OP's reply, if he indicates that he is using MCX' Ground Polygon Wizard, perhaps we might conclude this thread, and start a new topic ...in a more appropriate location at: :idea:

Home Forums > Microsoft Flight Simulator development > Scenery Design - 3D Objects


If he instead replies that he is using ADE GP Tool, we also might wish to conclude this thread, and start a new topic ...in a more appropriate location at:

Home Forums > Microsoft Flight Simulator development > Scenery Design - Airport Design

========================================================
 
Last edited:
#5
I followed a Video Tutorial on Youtube for that. I loaded my source image with the mentioned resolution into gimp and made a grid (1024x1024). Then I marked each tile/square and saved it as a new bitmap. That I have done with everyone. Next I made also the same grid in Gmax and loaded each little tile (1024x1024) into one gmax grid (not the whole bitmap!!). Then I exported it as a mdl file. I adeed to the little images also an alpha canal with dxtbmp, but I don't marked >> Include Mipmaps>>, so would that be better? With Modelconverter I did the last required steps.
 
#6
As explained above, one must first set the FS9.Cfg file to allow 1024x1024 pixel texture display.

Then of course, one must use Max. 1024x1024 sized textures on the G-Poly


[EDITED]

One may see improvement in FS9 of both run time display quality and performance ...when MIPMAPs are used on G-Poly textures.

IMHO, you should utilize the option to create MIPMAPs in the graphics utility that you are using to convert the aerial imagery BMP source file(s) into a MSFS compatible file format (ex: DXTBMP, FS SDK ImageTool etc.).

http://www.fsdeveloper.com/forum/threads/image-tool-vs-dxt-bmp.73631/


Some links which may have examples of the workflow for MIPMAPs:

https://www.google.com/#q=site: www.fsdeveloper.com JRobinson imagetool MIPMAP FS9 site:www.fsdeveloper.com


Jim Robinson's example in this thread shows how to create the MIPMAPs with FS SDK ImageTool (which can use the "DOS" Command / CMD mode for batch operations):

For DXT3 with mips (FS9):
-brief -DXT3 -nobeep -e bmp

http://www.fsdeveloper.com/forum/threads/metal-cladding-texture-help.375352/#post-572049


IIUC, since you plan to use an Alpha channel in the BMP to "blend" the transition between the textured area of the G-Poly and the RWY edge etc., you must create a "DXT3" type of BMP and not a "DXT1" type of MSFS format compatible bitmap.

The DXT3 format allows gray scale "gradient" transparency to be used as a "Blendmask" in the Alpha channel, whereas the DXT1 format only allows a black or white (all-or-none) transparency 'on-off switch'.

http://www.fsdeveloper.com/wiki/index.php?title=Texture_formats_overview



CAVEAT: DXT3 files must have an Alpha channel or MSFS reportedly suffers performance problems !

http://forum.avsim.net/topic/382519-a-huge-fps-increase/page-3#entry2444697

http://forum.avsim.net/topic/382519-a-huge-fps-increase/page-3#entry2444474


PS: An excellent wiki article on adding an Alpha channel via ex: Photoshop:

http://www.fsdeveloper.com/wiki/index.php?title=Alpha_channel_creation_with_Photoshop


This excellent tutorial shows how to create a gray scale gradient Blendmask in the Alpha channel of a BMP with the "Brush" tool set at 50% or 75% hardness in a Graphics utility (ex: Photoshop / GIMP etc.) in the section titled:

Creating a Blendmask

http://www.flightsim.com/vbfs/showthread.php?250762-How-to-create-photoreal-scenery-for-FSX


[END_EDIT]


Hope this helps ! :)

GaryGB
 
Last edited:
#8
If you have not yet gone back into SBuilderX to re-capture the aerial imagery tiles at a higher resolution, and are instead still using segments of the original captured imagery tile cut into pieces, then be aware that the resolution of all those pieces are less than 1.2 Meters / pixel which correlates with approximately MSFS LOD-15. :redflag:

If you do opt to go back into SBuilderX and re-capture the aerial imagery tiles at a higher resolution (zoom in more), you may be able to capture the tiles at a tile server Zoom Level of at least "19", which correlates with approximately MSFS LOD-17 or 0.3 Meters / 30 cm per pixel; this will allow your G-Poly to display with 'sharper' texture images. ;)


NOTE: The Zoom level 20 & 21 imagery accessible in Google Maps (as seen in USA) at EDDN appears to be artificially "magnified", so IMHO the 'sharpest' imagery may actually be the Zoom level 19.

https://msdn.microsoft.com/en-us/library/cc707102.aspx#QMIDandLODValues

http://multiplans.net/en_Importation_SphericalMercator.htm

https://msdn.microsoft.com/en-us/library/aa940990.aspx

https://msdn.microsoft.com/en-us/library/bb259689.aspx


You will, of course, need to download many tiles at high resolution to cover the airport G-Poly at LOD-17. :alert:

IIUC, all those aerial imagery tiles would need to be mapped onto a very large G-Poly, which ultimately would need to be sliced at 100 Meter- and grouped at 500 Meter- intervals by the MCX Ground Polygon Wizard ...as documented at: :teacher:

http://www.fsdeveloper.com/wiki/index.php?title=ModelConverterX

http://www.fsdeveloper.com/wiki/index.php?title=File:ModelConverterX_ground_polygon_wizard.jpg


Hope this helps with better understanding your options for achieving a higher resolution G-Poly in FS9 ! :)

GaryGB
 
Last edited:
#9
Hi Gary,

so with Zoom 19 I have to divide the Airport into 6 Images with Zoom 19. When I try this with SBuilderX it says when I want to add the last image that it cannot make the image. So I saved is as a project, but when I open it it say Can not display maps! Map view was turned OFF . I tried this on my Windows 7 64 Bit System with 8GB Ram and tried also to patch the SBuilderX exe with the 4GB Patch.

Any Idea?
 
#11
Hi Gary,

so with Zoom 19 I have to divide the Airport into 6 Images with Zoom 19. When I try this with SBuilderX it says when I want to add the last image that it cannot make the image. So I saved is as a project, but when I open it it say Can not display maps! Map view was turned OFF . I tried this on my Windows 7 64 Bit System with 8GB Ram and tried also to patch the SBuilderX exe with the 4GB Patch.

Any Idea?
Are you using SBuilderX version 3.14 (64-bit) or (32-bit) ?

Or are you using the prior release version of SBuilderX 3.13 (32-bit) ?


If you are not presently using SBuilderX version 3.14 (64-bit), download it here:

https://onedrive.live.com/download?resid=F3950C5BBD2BCFA1!805


If you are already using SBuilderX version 3.14 (64-bit), but are still getting those errors you reported above, your project aerial image tile quantity and/or total aggregate work set size may even be exceeding the internal limits of SBuilderX v3.14.

In this case, you may need to make the high resolution coverage of the airport as "multiple" G-Polys to keep the size of your work set in SBuilderX within a range that it can handle.

Since G-Polys are typically grouped into segments at 500 Meter intervals by MCX Ground Polygon wizard, one might consider making each G-Poly cover a span of 500 Meters on the ground for areas of interest to be rendered at high resolution at the airport.

IIRC, FS9 is able to display (14x14) 1,223 Meter on-ground gridded spans of textures and autogen for land class terrain tile types (including custom photo-real made via FS SDK Resample).

This 14-gridded-tile on-ground horizontal span is a Max. distance of up to 9.24514 Nautical Miles ...within the Visual Display Radius of the user aircraft.

And although the SCASM code used by the MCX Ground Polygon wizard is capable of more precision in placing scenery objects than some compilers in the MSFS SDK (which in theory could allow placing {14x14} G-Polys in a gridded array from one BGL), one still might need to create ones scenery content for G-Polys in ex: "single" 500 Meter pieces to optimize efficiency of the FS run time 3D world rendering engine so that there will be less risk for "blurries" when high resolution textured 3D objects such as G-Polys are seen on-ground, their highest texture MIPMAPs can be displayed.

Thus, you may wish to make each G-Poly as a separate object (created as separate projects in SBuilderX, so that the burden on SBuilderX results in a "smaller" work set when downloading high resolution tiles).

When the aerial imagery and geometry for these multiple G-Polys are imported into MCX Ground Polygon wizard, it is possible to combine such multiple G-Polys together into (1) SCASM-compiled BGL ...to reduce file I/O by FS at run time when displaying the G-Poly BGLs.

Hope this helps SBuilderX to successfully finish the task "incrementally" ! :)

GaryGB
 
Last edited:
#12
Another Question:

I load the source image in gimp and make a grid (1024x1024). I cannot use 2048x2048 or 4096x4096. Is that right?
FS9 will not allow loading / display of texture images larger than 1024x1024 pixels for 3D objects (ex: G-Polys).

FS9 will not allow loading / display of texture images larger than 256x256 pixels for terrain land class tiles.


FSX will allow use of larger textures as source imagery for either or both of the above object types to be utilized prior to compilation, though. ;)

GaryGB
 
Last edited:
#13
Gary,

thank you for the info. I havn't known up to know that there's a 64 Bit Version of SBuilderX. Thank you also for the download link ;)
I'm currently downloading SBuilder (x64) and will try it.

Flugsimulatorpilot
 
Top