BGL files contains a lot of objects. If the bgl describe a scenery, many objects are repeated so a large part of it is unusable for the FU3 designer. In each object TransformCall, RotatedCall ... define the placement of a part of the model. The part data are placed after the given Label as a Points tabulation, Bitmap reference or RSGBColor and texture polygons or just polygons until Return. After all labels there is a EndA terminating the object. Then a new object begins.
There is another sequence of data defining a FU3 model, first is the tabulation of all material used, assigning a number to it. Bitmap name or RGB value for the solid color and the double side option of the surfaces are set here also. Then the Part Loop is started. Definition of each BGL Label is a part going from BEGIN to END until End Of File. The Part label is set to the corresponding BGL label. First tabulation after BEGIN are the points, then the triangles of the part with the used material and at last the tabulation of texture coordinates. Once added it is not possible to delete a material but uncheck the material when no longer used and it will not be exported to the E file.
; ----------------------------------------
; Object # 142, offset: 0x28930 size: 1188 bytes (0x04A4)
;; Lat: 0004EEBBCh Lon: 004B50782h
; ----------------------------------------
Area( B N46:32:28.53 E006:37:09.93 22 )
IfVarRange( : 0346 2 5 )
PerspectiveCall( :L028952 )
ShadowCall( :L028952 )
Jump( : )
:L028952
RefPoint( rel :L02897C 0.25 N46:32:28.54 E006:37:09.93
V1= 3000 V2= 0 )
RotatedCall( :L02897E 0 0 340 )
:L02897C
Return
:L02897E
TransformCall( :L028A1A 20 0 0
0 0000 0 0000 0 0000 )
TransformCall( :L028B1E 48 28 0
0 0000 0 0000 0 0000 )
TransformCall( :L028B1E 18 28 0
0 0000 0 0000 0 0000 )
TransformCall( :L028B1E -11 28 0
0 0000 0 0000 0 0000 )
Return
:L028A1A
Points( 0
-80 0 -90 ; 0
80 0 -90 ; 1
80 0 90 ; 2
-80 0 90 ; 3
-80 28 -90 ; 4
80 28 -90 ; 5
80 28 90 ; 6
-80 28 90 ; 7
)
LoadBitmap( 0 6 EF 0 0 0
lsglbuv.bmp )
TexPoly( m 0 0 -32767 90
0 0 0 ; 0
4 0 41 ; 1
5 254 41 ; 2
1 254 0 ; 3
)
TexPoly( m 0 0 32767 90
2 0 0 ; 0
6 0 41 ; 1
7 254 41 ; 2
3 254 0 ; 3
)
TexPoly( m -32767 0 0 80
3 0 41 ; 0
7 0 87 ; 1
4 254 87 ; 2
0 254 41 ; 3
)
TexPoly( m 32767 0 0 80
1 0 41 ; 0
5 0 87 ; 1
6 254 87 ; 2
2 254 41 ; 3
)
RGBSColor( EF 46 46 46 )
Poly( m 0 32767 0 28
4 7 6 5
)
Return
:L028B1E
Points( 8
-12 0 -82 ; 8
12 0 -82 ; 9
12 0 82 ; 10
-12 0 82 ; 11
6 10 -82 ; 12
6 10 82 ; 13
)
LoadBitmap( 0 6 EF 0 0 0
lsglbuv.bmp )
TexPoly( m 0 0 -32767 82
8 18 189 ; 0
12 32 206 ; 1
9 36 189 ; 2
)
TexPoly( m 0 0 32767 82
10 18 189 ; 0
13 22 206 ; 1
11 36 189 ; 2
)
LoadBitmap( 0 6 EF 0 0 0
tole.bmp )
TexPoly( m -15913 28644 0 6
11 0 0 ; 0
13 0 103 ; 1
12 254 103 ; 2
8 254 0 ; 3
)
RGBSColor( EF 87 87 87 )
Poly( m 0 32767 0 8
9 10 11 12
)
Return
EndA
|
COMMENT{
// Object:# 142 bgl-asm to E by www.agtim.ch Date: 28 July 2005 00:23:37
}
MATERIALS{
1,"Material",,TMAP "lsglbuv.bmp",100,TRANSP 0;
2,"Material",,TMAP "tole.bmp",100,TRANSP 0;
3,"Material",,TMAP "lsmpha2a.bmp",100,TRANSP 0;
4,"Color",PHONG,RGB 46,46,46,TRANSP 0;
5,"Color",PHONG,RGB 157,116,64,TRANSP 0,DBL;
}
BEGIN "L028A1A"
POINTS{
-60,-90,0
-60,-90,28
100,-90,28
100,-90,0
100,90,0
100,90,28
-60,90,28
-60,90,0
-60,90,0
-60,90,28
-60,-90,28
-60,-90,0
100,-90,0
100,-90,28
100,90,28
100,90,0
}
PARTS{
4,N,0, 1,(0,2,1);
4,N,1, 1,(0,3,2);
4,N,2, 1,(4,6,5);
4,N,3, 1,(4,7,6);
4,N,4, 1,(8,10,9);
4,N,5, 1,(8,11,10);
4,N,6, 1,(12,14,13);
4,N,7, 1,(12,15,14);
}
PART_MAPPINGS{
0,(0.000000,0.000000),(0.992188,0.160156),(0.000000,0.160156);
1,(0.000000,0.000000),(0.992188,0.000000),(0.992188,0.160156);
2,(0.000000,0.000000),(0.992188,0.160156),(0.000000,0.160156);
3,(0.000000,0.000000),(0.992188,0.000000),(0.992188,0.160156);
4,(0.000000,0.160156),(0.992188,0.339844),(0.000000,0.339844);
5,(0.000000,0.160156),(0.992188,0.160156),(0.992188,0.339844);
6,(0.000000,0.160156),(0.992188,0.339844),(0.000000,0.339844);
7,(0.000000,0.160156),(0.992188,0.160156),(0.992188,0.339844);
}
END
BEGIN "L028B1E"
POINTS{
67,-82,28
85,-82,38
91,-82,28
91,82,28
85,82,38
67,82,28
67,82,28
85,82,38
85,-82,38
67,-82,28
91,-82,28
85,-82,38
85,82,38
91,82,28
}
PARTS{
4,N,0, 1,(0,2,1);
4,N,1, 1,(3,5,4);
4,N,2, 2,(6,8,7);
4,N,3, 2,(6,9,8);
4,N,4, 3,(10,12,11);
4,N,5, 3,(10,13,12);
}
PART_MAPPINGS{
0,(0.070313,0.738281),(0.140625,0.738281),(0.125000,0.804688);
1,(0.070313,0.738281),(0.140625,0.738281),(0.085938,0.804688);
2,(0.000000,0.000000),(0.992188,0.402344),(0.000000,0.402344);
3,(0.000000,0.000000),(0.992188,0.000000),(0.992188,0.402344);
4,(0.007813,0.867188),(0.992188,0.949219),(0.007813,0.949219);
5,(0.007813,0.867188),(0.992188,0.867188),(0.992188,0.949219);
}
END
|
As always backup your files and be aware that
You are using this freeware tool and the tutorial at your own responsibility !
Information: André Meystre
back to FU3 Terrain Workshop
next to Planes for the Swiss region