Warning: Undefined array key "translationlc" in /usr/www/users/fabook/_diggets/doc/v2/lib/plugins/translation/action.php on line 237
Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/fabook/_diggets/doc/v2/lib/plugins/translation/action.php:237) in /usr/www/users/fabook/_diggets/doc/v2/inc/parser/code.php on line 33
Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/fabook/_diggets/doc/v2/lib/plugins/translation/action.php:237) in /usr/www/users/fabook/_diggets/doc/v2/inc/parser/code.php on line 34
Warning: Cannot modify header information - headers already sent by (output started at /usr/www/users/fabook/_diggets/doc/v2/lib/plugins/translation/action.php:237) in /usr/www/users/fabook/_diggets/doc/v2/inc/parser/code.php on line 35
procedure TForm1.FormCreate(Sender: TObject);
var LBillboard : TPlane;
LPoolE : TGorillaBitmapPoolEntry;
LGrassMat : TGorillaGrassMaterialSource;
LAlg : TGorillaBillboardRectFilling;
begin
// creating the source object - here a plane
LBillboard := TPlane.Create(fGorilla);
LBillboard.Scale.Point := Point3D(4, 4, 4);
// creating the grass material source
FGrassMat := TGorillaGrassMaterialSource.Create(FGorilla);
FGrassMat.Parent := FGorilla;
// now we load a pool of grass textures, the material shader
// randomly chooses from
with FGrassMat do
begin
LPoolE := Bitmaps.Add() as TGorillaBitmapPoolEntry;
LPoolE.DisplayName := 'Grass1';
LPoolE.Bitmap.LoadFromFile('grass1.png');
LPoolE := Bitmaps.Add() as TGorillaBitmapPoolEntry;
LPoolE.DisplayName := 'Grass2';
LPoolE.Bitmap.LoadFromFile('grass2.png');
LPoolE := Bitmaps.Add() as TGorillaBitmapPoolEntry;
LPoolE.DisplayName := 'Grass3';
LPoolE.Bitmap.LoadFromFile('grass3.png');
LPoolE := Bitmaps.Add() as TGorillaBitmapPoolEntry;
LPoolE.DisplayName := 'Grass4';
LPoolE.Bitmap.LoadFromFile('grass4.png');
end;
// creating the billboard control
FGrass := TGorillaBillboard.Create(FGorilla);
FGrass .Parent := FGorilla;
FGrass.AddSourceObject(LBillboard);
FGrass.MaterialSource := LGrassMat;
FGrass.SetSize(GORILLA_BILLBOARD_SIZE, GORILLA_BILLBOARD_SIZE, GORILLA_BILLBOARD_SIZE);
// create an individual filling algorithm to multiply the grass planes
// on elder Gorilla3D version TGorillaBillboardRectFilling
LAlg := TGorillaBillboardFlatFilling.Create(FGrass);
try
LAlg.Count := 1000;
FGrass.Fill(LAlg, true);
finally
FreeAndNil(LAlg);
end;