Quality of phototextures

General discussion about Scenery Design. Questions about SBuilder for Flight Simulator FS2004.
Post Reply
bpahe
Posts: 50
Joined: Fri May 14, 2004 3:55 am
Location: Sweden
Contact:

Quality of phototextures

Post by bpahe » Fri Jun 11, 2004 2:50 am

Hi!

I´m fortunate enough to have my photographs that are to be used as textures, in 1m/pixel resolution. I´d love to be able to make such textures as those used in the FranceVFR-sceneries! However, both Resample, and the method used by SceneryBuilder lessens the resolution to 4.75 (?) m/pixel, and this results in a quite big loss of quality.
I´ve tried leaving the picture "hi-res", and also lessen the resolution myself, before exporting with SBuilder, but both methods give me rather "chunky" textures. Are there any shortcuts that I don´t know of, or should I try to cut-and-drag my hi-res photo to fit on the tiles/bmps made by SBuilder?

/hans

User avatar
Luis Sa
Posts: 1736
Joined: Sun May 18, 2003 11:17 am
Location: Portugal
Contact:

Post by Luis Sa » Fri Jun 11, 2004 3:30 am

Hans,

I would like to know the answer! Are you sure that the VFR scenery of France uses VTP scenery with more than 4,8 meter/pixel resolution? I only believe if I see it! I will have to see!

Regards, Luis

bpahe
Posts: 50
Joined: Fri May 14, 2004 3:55 am
Location: Sweden
Contact:

Post by bpahe » Fri Jun 11, 2004 4:58 am

Hi again!

Well, two answers; read a review (written by myself, hehe) here:
http://www.fsnordic.net/article/review/ ... ce_VFR.php

...and, maybe no, the technique have been discussed here (found it after I posted, sorry...)
http://www.visualflight.co.uk/forums/to ... IC_ID=1812

/hans [B)]

User avatar
Luis Sa
Posts: 1736
Joined: Sun May 18, 2003 11:17 am
Location: Portugal
Contact:

Post by Luis Sa » Fri Jun 11, 2004 6:32 am

Hello Hans,

Thank you for the topics! As I said before VTP scenery is limited to 4,8 meters per pixel. VTP scenery is very fast and frame rate friendly. The reason is because FS builds the textures when it starts. The textures are the "skin of the mesh". You can have much higher resolution with 3D objects. Look to the second picture in this topic:

http://www.ptsim.com/forum/topic.asp?TOPIC_ID=159

there is the mesh only! Now the same part with 3D objects over becomes like this:

http://www.ptsim.com/madeira/mad835.jpg

Because the skin is a 3D object which does not coincide with the mesh, the aircraft can sink in the false terrain as referred to in the other forum! This has been a terrible problem in ours Madeira scenery.

If you have flat areas I can send you a SCASM macro that places a rectangular photo on the scenery. If the photo has transparency on the borders (PSP is the way!) the photo nicely matches the default.

The macro has 3 parameters that define the rectangle: width, lenght and heading and another that defines the name of the texture. The 4 corners of the texture become the 4 corners of the rectangle. If you define say a square of 500 x 500 meters and a texture of 1024 x 1024 you will have 0,5 meters per pixel. Examples in the old PT2000 are:

http://www.ptsim.com/images/pti.jpg

http://www.ptsim.com/images/ptd.jpg

Now I will have resist to what I will write next or I will never finish Portugal and Azores [;)]!

SBuilder can load a mesh on the mesh bitmap. SBuilder can read the altitude of the corners of the mesh. So it can generate a list of triangles and it can create an artificial skin to the mesh! I may be wrong but the skin can be as precise as the mesh and the aircraft would not be seen to skin! You gave me an idea, but I have not the time to explore it right now!

One question: how do you rate the VFR scenery of France regarding frame rates? FS is painting twice the ground!

Regards, Luis

bpahe
Posts: 50
Joined: Fri May 14, 2004 3:55 am
Location: Sweden
Contact:

Post by bpahe » Fri Jun 11, 2004 7:08 pm

Hi!

Thanks for the input. The idea using the MESH sounds quite interesting, I suggest that you look into it! [:D]

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote"><i>Originally posted by Luis Sá</i>
If you have flat areas I can send you a SCASM macro that places a rectangular photo on the scenery. If the photo has transparency on the borders (PSP is the way!) the photo nicely matches the default.<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

Yes, indeed these are flat areas. So, please do, I belive you have my adress by now...

<blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">quote:<hr height="1" noshade id="quote">
One question: how do you rate the VFR scenery of France regarding frame rates? FS is painting twice the ground!
<hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

The framerate is not a problem, even if my, by todays standards quite out-dated, machine does not produce the highest possible FPS. However there is a noticable delay in loading the textures, a similar problem to the one I had with the Digital Aviation/Aerosoft Katana. But once the textures are loaded, everything runs fine!

/hans

User avatar
Luis Sa
Posts: 1736
Joined: Sun May 18, 2003 11:17 am
Location: Portugal
Contact:

Post by Luis Sa » Mon Jun 14, 2004 11:17 am

Hello,

Here is the requested macro

Regards, Luis

;ASDesign Compatible Macro
;Name=Mapa_Flat, Type=Mapas, Bitmap=mapageral.bmp, \
;FixedLength=25, FixedWidth=25, \
;Latitude, Longitude, Elevation=0, Scale=1, Rotation=0, \
;Density=2, Visibility= 30000, Len=800, Texture1=arganil.bmp, \
;Range=25, Priority=8, Rectangle=0, Seasons=1

; Macro Parameters:
; 1 = latitude
; 2 = longitude
; 3 = elevation
; 4 = scale
; 5 = rotation
; 6 = scenery complexity ( 0 ... 5 )
; 7 = visibility (in meters)
; 8 = length
; 9 = texture
; 10 = range
; 11 = priority
; 12 = 1 is square or <>1 rectangle
; 13 = seasons off (0) or on (1)


UVar( $WP [%12 * %8 / 2.0] )
UVar( $LP [%8 / 2.0] )
UVar( $LN [-1 * $LP] )
UVar( $WN [-1 * $WP] )

UVar( $C cos[ %5 ] )
UVar( $S sin[ %5 ] )

UVar( $P0X [[$C * $WN] + [$S * $LN]] )
UVar( $P0Y [[$C * $LN] - [$S * $WN]] )

UVar( $P1X [[$C * $WP] + [$S * $LN]] )
UVar( $P1Y [[$C * $LN] - [$S * $WP]] )

UVar( $P2X [[$C * $WP] + [$S * $LP]] )
UVar( $P2Y [[$C * $LP] - [$S * $WP]] )

;UVar( $P2X -$P0X )
;UVar( $P2Y -$P0Y )

UVar( $P3X [[$C * $WN] + [$S * $LP]] )
UVar( $P3Y [[$C * $LP] - [$S * $WN]] )

;UVar( $P3X -$P1X )
;UVar( $P3Y -$P1Y )

UVar( $C1 111120 )
UVar( $C2 [111120 * [cos(%1)]] )

UVar( $Lat0 [%1 + ($P0Y / $C1)] )
UVar( $Lon0 [%2 + ($P0X / $C2)] )

UVar( $Lat1 [%1 + ($P1Y / $C1)] )
UVar( $Lon1 [%2 + ($P1X / $C2)] )

UVar( $Lat2 [%1 + ($P2Y / $C1)] )
UVar( $Lon2 [%2 + ($P2X / $C2)] )

UVar( $Lat3 [%1 + ($P3Y / $C1)] )
UVar( $Lon3 [%2 + ($P3X / $C2)] )

Area16N

;GRP( %1 %2 )

Flatten( %3 $Lat0 $Lon0 $Lat1 $Lon1 $Lat2 $Lon2 $Lat3 $Lon3 )
Flatten( %3 d -2000 -2000 d -2000 2000 d 2000 2000 d 2000 -2000 )


End16

Area( 5 %1 %2 %10 )

mif( %6 )
IfVarRange( : 0346 %6 4 )
mifend

LayerCall( :D0 %11 )
Jump( : )

:D0

mif( %3 )
RefPoint( 2 :D3 %4 %1 %2 v1= %7 E= %3 v2= 0 )
melse
RefPoint( 7 :D3 %4 %1 %2 v1= %7 v2= 0 )
mifend

Points( 0
[$P0X] 0 [$P0Y]
[$P1X] 0 [$P1Y]
[$P2X] 0 [$P2Y]
[$P3X] 0 [$P3Y]
)

mif( %13 )
LoadBitmap( 0 WFS5 EF 30 70 10 %9 )
melse
LoadBitmap( 0 5 EF 30 70 10 %9 )
mifend

Smoothing( 1 )
TexPoly( m 0 32767 0 0
0 0 0
1 256 0
2 256 256
3 0 256
)
Smoothing( 0 )
SenseBorder( :D3
[$P3X] [$P3Y]
[$P2X] [$P2Y]
[$P1X] [$P1Y]
[$P0X] [$P0Y]
)
SurfaceType( 0 5000 5000 0 )
:D3
Return

EndA

Post Reply