C ++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдХреЛрдб рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдиреАрдЪреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдХреЛрдб рдЖрджрд░реНрд╢ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИред
рдмрд╣реБрдд рд╕рдордп рдкрд╣рд▓реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛, рдореБрдЭреЗ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдКрдВрдЪрд╛рдИ рдХреЗ рдирдХреНрд╢реЗ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереАред
рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореВрд▓реНрдп рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдпрд╣рд╛рдВ рджреЛ-рдЖрдпрд╛рдореА рдбреЗрдЯрд╛ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдирдореВрдирд╛ рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдореБрдЭреЗ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛, рдФрд░ рдореИрдВрдиреЗ рдкрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдФрд░ рдЧрдбреНрдвреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

Land_MakeHill рдлрд╝рдВрдХреНрд╢рди (рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рдиреАрдЪреЗ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб:
srand(GetTickCount()); for(int i=0;i<rand()%(World::size*World::size*1000);i++) { Land_MakeHill(World::data,
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╣рд╛рдбрд╝реА рдФрд░ рдЧрдбреНрдвреЗ рдмрдирд╛рдиреЗ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдКрдВрдЪрд╛рдИ рд╣реИред рдЧрдбреНрдвреЗ рдореЗрдВ, рдпрд╣ рд╢реВрдиреНрдп рд╕реЗ рдХрдо рд╣реИ, рдкрд╣рд╛рдбрд╝реА рдкрд░ рдЕрдзрд┐рдХ рд╣реИред
Land_MakeHill рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб:
void Land_MakeHill(float** data,int px,int pz, int size,float height,int Rad ) { for(int i=0;i<size;i++){ for(int w=0;w<size;w++){
рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рдЪрд┐рдХрдирд╛рдИ рдХрд╛ рдЕрднрд╛рд╡ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЪрд┐рдХрдирд╛ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред

Land_blur рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб:
void Land_Blur(float** data,int size) {
рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕реНрдореВрджреА рд╣реИред
рдПрдХ рдмрд┐рдВрджреБ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХреЗ рдмрд┐рдВрджреБ рд▓рд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдорд╛рди рдЪрдпрдирд┐рдд рдмрд┐рдВрджреБ рдХреА рдКрдВрдЪрд╛рдИ рд╣реИред
рдЕрдм рдКрдВрдЪрд╛рдИ рдирдХреНрд╢рд╛ рдкреАрдврд╝реА рдХреЛрдб рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
рдЙрд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдХреБрдЫ рдФрд░ рдЫреЛрдЯреА рдкрд╣рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдФрд░ рдирдХреНрд╢реЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд┐рдХрдирд╛ рдХрд┐рдпрд╛ред
рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реБрдЖ:
