#include "DarkGDK.h" 
 // Создаем переменные с ID объектов 
 int Terrain = 1; 
 int SkyBox = 2; 
 int JetFighter = 3; 
 // Создаем функцию, обрабатывающую ввод с клавиатуры 
 void UserInput ( void ) 
 { 
 // Клавиша "вверх" 
 if ( dbUpKey ( ) ) 
 { 
 dbPitchObjectUp ( JetFighter, 1.0 ); 
 dbPitchCameraUp ( -1.0 ); 
 } 
 // Клавиша "вниз" 
 if ( dbDownKey ( ) ) 
 { 
 dbPitchObjectDown ( JetFighter, 1.0 ); 
 dbPitchCameraDown ( -1.0 ); 
 } 
 // Клавиша "влево" 
 if ( dbLeftKey ( ) ) 
 { 
 dbRollObjectLeft ( JetFighter, -1.0 ); 
 dbRollCameraLeft ( 1.0 ); 
 } 
 // Клавиша "вправо" 
 if ( dbRightKey ( ) ) 
 { 
 dbRollObjectRight ( JetFighter, -1.0 ); 
 dbRollCameraRight ( 1.0 ); 
 } 
 } 
 // В DarkGDK заместо функции main() используется DarkGDK() 
 void DarkGDK ( void ) 
 { 
 // Устанавливаем параметры экрана, переходим в полноэкранный режим 
 dbSetDisplayMode ( 1280, 1024, 32 ); 
 dbSetWindowOff (); 
 dbSyncOn ( ); 
 dbSyncRate ( 60 ); 
 // Устанавливаем рабочую директорию 
 dbSetDir ( "Media" ); 
 // Создаем ландшафт 
 dbLoadImage ( "Terrains\\Default Terrain\\texture.jpg", 1 ); 
 dbLoadImage ( "Terrains\\Default Terrain\\detail.jpg", 2 ); 
 dbSetupTerrain (); 
 dbMakeObjectTerrain ( 1 ); 
 dbSetTerrainHeightMap ( 1, "Terrains\\Default Terrain\\map.bmp" ); 
 dbSetTerrainScale ( 1, 6.0, 1.2, 6.0 ); 
 dbSetTerrainLight ( 1, 1.0f, -0.25f, 0.0f, 1.0f, 1.0f, 0.78f, 0.5f ); 
 dbSetTerrainTexture ( 1, 1, 2 ); 
 dbBuildTerrain ( 1 ); 
 // Создаем "СкайБокс" 
 dbLoadObject ( "Sky Boxes\\Default Sky Box\\skybox2.x", 2 ); 
 dbSetObjectLight ( 2, 0 ); 
 dbScaleObject ( 2, 30000, 30000, 30000 ); 
 // Создаем самолет 
 dbLoadObject ( "Models\\Jet Fighter\\Jet Fighter.x", 3 ); 
 float JetFighterSpeed = -2.5; 
 // Устанавливаем позицию и орентацию объектов 
 dbPositionObject ( JetFighter, dbObjectPositionX ( Terrain ), dbObjectPositionY ( Terrain ) + 10, dbObjectPositionZ ( Terrain ) ); 
 dbPositionCamera ( dbObjectPositionX ( JetFighter ), dbObjectPositionY ( JetFighter ), dbObjectPositionZ ( JetFighter ) + 25 ); 
 dbRotateCamera ( 0.0, 180.0, 0.0 ); 
 // Устанавливаем "дальность видимости" камеры 
 dbSetCameraRange ( 1.0f, 30000.0f ); 
 float CameraSpeed = 2.5; 
 while ( LoopGDK ( ) ) 
 { 
 // Тело главного цикла программы 
 dbPointCamera ( dbObjectPositionX ( JetFighter ), dbObjectPositionY ( JetFighter ), dbObjectPositionZ ( JetFighter ) ); 
 dbMoveObject ( JetFighter, JetFighterSpeed ); 
 dbMoveCamera ( -JetFighterSpeed ); 
 UserInput ( ); 
 dbSync ( ); 
 } 
 // Возвращаемся в Windows 
 return; 
 }