GPU рдУрдкрди рд╕реЛрд░реНрд╕ рдлрд╝реЛрдЯреЛрд░рд┐рдпрд▓рд┐рдЬрд╝реНрдо: рд╕рд╛рдЗрдХрд▓ рд░реЗрдВрдбрд░

GPGPU рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде, рдмрд╛рдЬрд╛рд░ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ GPU рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЧрдП, рдЙрдирдореЗрдВ рд╕реЗ iRay, V-ray RT, Octane, Arion рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд▓реЗрдХрд┐рди, рдУрдкрдирд╕реЛрд░реНрд╕ рдХрдореНрдпреБрдирд┐рдЯреА рдЕрд▓рд░реНрдЯ рдкрд░ рд╣реИ, рдФрд░ рдХрдо рд╕реЗ рдХрдо рджреЛ рдЬреАрдкреАрдпреВ-рдлреНрд░реА рд░реЗрдВрдбрд░ рдЬреЛ рдореБрдЭреЗ рдЬреНрдЮрд╛рдд рд╣реИрдВ, рд╡реЗ рджрд┐рдЦрд╛рдИ рджрд┐рдП: рд╕реНрдореЙрд▓рдХреНрд▓реЗрдЧрдкреБ рдФрд░ рд╕рд╛рдЗрдХрд┐рд▓ рд░реЗрдВрдбрд░ред рдореИрдВ рдмрд╛рдж рдХреЗ рдЕрдкрдиреЗ рдЗрдВрдкреНрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рд╕рд╛рдЗрдХрд▓ рд░реЗрдВрдбрд░ - рдирд┐рд╖реНрдкрдХреНрд╖ рд░реЗрдВрдбрд░ , GPU (CUDA рдФрд░ OpenCL for ATI) рдкрд░ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рдеред рдмреНрд▓реЗрдВрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдмреЙрдХреНрд╕ рдореЗрдВ рдЭреВрда рдЪрд▓рддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ, рд▓рд┐рдирдХреНрд╕, рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред


рд╕рд╛рдЗрдХрд┐рд▓ рд░реЗрдВрдбрд░, рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдмрдирд╛рд╡рдЯ рд╡рд╛рд▓реА рдХрд╛рд░, FullHD рдХреЛ GTX580 рдкрд░ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ 2 рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рд▓рдЧрд╛ред

рдмреНрд▓реЗрдВрдбрд░ рдореБрдЭреЗ рдмрд╣реБрдд рдХрдо рд░реБрдЪрд┐ рдХреЗ рдереЗ, рднрд▓реЗ рд╣реА рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдХреБрдЫ рдлрд╛рдпрджреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж: рдЦреБрд▓рд╛рдкрди, рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреА рдЖрд╕рд╛рдиреА, рдХрд╛рдо рдХреА рдЧрддрд┐ред 3 рдбреА рдореИрдХреНрд╕ рд╕реЗ рдХрдВрдЬрд░реНрд╡реЗрдЯрд┐рд╡ рдХреЛ рдмреНрд▓реЗрдВрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рдж рдореБрд╢реНрдХрд┐рд▓ рд╣реИ: рдПрдХ рдФрд░ рдкреНрд░рдмрдВрдзрди, "рдпрд╣ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ!" рд▓реЗрдХрд┐рди, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬреАрдкреАрдпреВ рдкрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдПрдиреАрд╕реЗрд╕ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдФрд░ рдПрдХ рдирдпрд╛ рдмреНрд▓реЗрдВрдбрд░ (рд╕рдВрд╕реНрдХрд░рдг 2.63 рдЗрд╕ рд▓реЗрдЦ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рдХреЗ рд╕рдордп) рд╕реАрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред

рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╡реАрдбрд┐рдпреЛ, рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рдЪрдХреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдореЛрдб рд╕реАрдзреЗ рд╕рдХреНрд░рд┐рдп рд╡реНрдпреВрдкреЛрд░реНрдЯ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдПрдХ рдирд╡рд╛рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ), рдпрд╛ рдЖрдк рдХреИрдорд░реЗ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рджреГрд╢реНрдп рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

CPU рдмрдирд╛рдо GPU
X86-64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкреНрд░реЛрд╕реЗрд╕рд░реЛрдВ рдХреЗ рдХреЛрд░ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрдиреБрджреЗрд╢ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рдХреНрд░рд┐рд╕реНрдЯрд▓ рдХреНрд╖реЗрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╕реАрдкреАрдпреВ рдкрд░ рдХрдИ рдХреЛрд░ рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, x86 рдЕрдкрдирд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдХрд░рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЕрдкрдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдкрд╛рджрди рдмрд╣реБ-рд╕реВрддреНрд░ рд╣реИред рдпрд╣рд╛рдВ рдореБрдЦреНрдп рдмрд╛рдд рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдСрдкрд░реЗрд╢рди рдХреА рдЙрдЪреНрдЪ рдЧрддрд┐ рд╣реИ, рдФрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдореЗрдореЛрд░реА рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП GPU рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред
рд▓реЗрдХрд┐рди GPU, рдПрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕реЗ рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд░реИрд╕реНрдЯрд░рд╛рдЗрдЬрд╝реЗрд╢рди (OpenGL, DirectX) рдХреЗ рд▓рд┐рдП рддреЗрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, GPGPU рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓ рд╣реЛрдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╕реАрдкреАрдпреВ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ CUDA рдФрд░ OpenCL рдЬреИрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ GPU рдкрд░ рдЯреИрдореНрдмреЛрд░рд┐рди рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдиреГрддреНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрдХреНрд╕рд░, рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЦрд░рд╛рдм рдЕрдиреБрдХреВрд▓рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдУрдкрдирд╕реАрдПрд▓) рдХреЗ рдХрд╛рд░рдг, GPU рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП (рднреМрддрд┐рдХреА рдХреА рдЧрдгрдирд╛), рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЛрд░ рдФрд░ рддреЗрдЬреА рд╕реЗ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдЧреБрдгрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛ рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ рдЬрдм рддрдХ рдХрд┐ GPU рдЧреИрд░-рдЧреНрд░рд╛рдлрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЗрдВ рдмреЗрд╣рддрд░ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рди рд╣реЛ рдЬрд╛рдПред
рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рдХрдореА рдФрд░ рд╕рдм рдХреБрдЫ "рд╢рд╛рдВрдд" рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЕрдирд┐рдЪреНрдЫрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рджреБрдирд┐рдпрд╛ рднрд░ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреАрдкреАрдпреВ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмреЗрд╢рдХ, GPU рдкрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдХрдИ рдЧреБрдирд╛ рдмрдврд╝рд╛ рджреЗрддрд╛ рд╣реИред

рдПрдХ рдЫреЛрдЯрд╛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдЕрдкрдиреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рд╕рдордп рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ (рдХреЛрд░ i5 2500 рдмрдирд╛рдо GTX580)ред
рд╡рд┐рдВрдбреЛрдЬ 7 64 рдмрд┐рдЯ: рд╕реАрдкреАрдпреВ 5:39 : 64 рдХреНрдпреВрдбрд╛ 0:42 : 54ред 8.07 рдмрд╛рд░ред
Ubuntu 12.04 64 рдмрд┐рдЯ: CPU 3:48 : 77, CUDA 0:39 : 03ред 5.84 рдмрд╛рд░ред
рдирд╡реАрдирддрдо рдЯреЙрдк-рдПрдВрдб рд░рд╛рдбреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдЧрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпреВрдирд┐рдХреНрд╕ рд╕реАрдкреАрдпреВ рдкрд░ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддрд╛ рд╣реИред рддрд╛рдХрд┐ рдЖрдк рдпрд╣ рди рд╕реЛрдЪреЗрдВ рдХрд┐ рдореЗрд░рд╛ рд╡рд┐рдВрдбреЛрдЬ рдЦрд░рд╛рдм рд░рд╣рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рд╕рдмреВрдд рдЦреЛрдж рд▓рд┐рдП: рдПрдХ рдмрд╛рд░ (4 рд╡рд╛рдВ рд╕рдВрджреЗрд╢) рдФрд░ рджреЛ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ)ред рдпрд╣ рдХрд┐рд╕рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ - рдореИрдВ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддрд╛, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред
UPD: рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрддрд╛ рд╣реИ, рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рд▓реЙрдХрд▓ ред

GPU рдХрд╛ рдкреГрдердХреНрдХрд░рдг рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдмрдирд╛рд╡рдЯ рдХреА рдЬрдЯрд┐рд▓рддрд╛ред рдЬрдЯрд┐рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдмрдирд╛рд╡рдЯ рдореЗрдВ, GPU рдкреГрдердХреНрдХрд░рдг рдереЛрдбрд╝рд╛ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдХрд╛ рдмреЛрд▓рдирд╛ред

рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдмрдирд╛рд╡рдЯ
рд╡рд╛рдВрдЫрд┐рдд рд╕рд╛рдордЧреНрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЧреНрд░рд╛рдлрд╝ рдиреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реЗрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрд╢рд▓ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

рдХрд╣рд╛рдВ (рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдкреАрдЫреЗ рдХреА рддрд░рдл рд╕рд╛рдл рд╣реЛрдЧрд╛) :
1. рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рддрд╣ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдордЧреНрд░реА рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
2. shader рдкреИрд░рд╛рдореАрдЯрд░ (3) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреЗрдВрдЯ (4) рдФрд░ рдЧреНрд▓реЙрд╕ (5) рдХреЗ рдШрдЯрдХ рдХреЛ рдорд┐рд▓рд╛рддрд╛ рд╣реИред
3. рдЪрдордХрджрд╛рд░ рд╕рддрд╣ рдХрд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЧреБрдгрд╛рдВрдХ (рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЧреБрдгрд╛рдВрдХ рдШрдЯрдирд╛ рдХреЗ рдХреЛрдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рддрд╣ рдХреЗ рдХрдо рд▓рдВрдмрд╡рдд рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ)
4. shader 6 рдФрд░ 7 рдХреЛ рд╕рдорд╛рди рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдорд┐рд▓рд╛рддрд╛ рд╣реИ (Fac = 0.5)ред
5. рджрд░реНрдкрдг рдкреНрд░рддрд┐рдмрд┐рдВрдм (рд╡рд╛рд░реНрдирд┐рд╢ рд╕рддрд╣)ред
6, 7. рдбрд┐рдлреНрдпреВрдЬрд╝ рдФрд░ рдЧреНрд▓реЙрд╕реА (рд░рдлрдиреЗрд╕ 0.35) рдХрдВрдкреЛрдиреЗрдВрдЯ рдкреЗрдВрдЯреНрд╕ред
8. рд░рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрдХред рд╣реНрдпреВ рдЗрдирдкреБрдЯ рдкрд░, рдмрдирд╛рд╡рдЯ рдХрд╛ рдкрд╣рд▓реВ рдкреИрд░рд╛рдореАрдЯрд░ (9) 0 рд╕реЗ 1 рддрдХ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рдкреНрд░рдХрд╛рд╢ рд▓рд╛рд▓ рд░рдВрдЧ рд╕реЗ рдСрдлрд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред
9. рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░рдВрдЧ рд╕реЗрд▓ рдЬрдирд░реЗрдЯрд░ (рдЖрд░, рдЬреА, рдмреА), рдЬрд╣рд╛рдВ рдЪреЗрд╣рд░реЗ рдХреА рддреАрд╡реНрд░рддрд╛ (0 рд╕реЗ 1 рддрдХ) рд╣реИред

рдХрд╛рдо рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдереЛрдбрд╝рд╛ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ:

рдЖрдк рдХрд┐рд╕реА рднреА рдмрдирд╛рд╡рдЯ рдФрд░ рд╕рддрд╣ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдлреБрд▓рдПрдЪрдбреА рд╣реИ ред

рдЖрдк рдирдХрд╛рд░рд╛рддреНрдордХ рдЪрдордХ рдХреЗ рд╣рд▓реНрдХреЗ рд╕реНрд░реЛрдд рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдкреНрд░рдХрд╛рд╢, рд╡рд┐рд░реЛрдзреА рдкреНрд░рдХрд╛рд╢ред

рдЖрдк рди рдХреЗрд╡рд▓ рд╕рддрд╣реЛрдВ, рдмрд▓реНрдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдЖрдХрд╛рд╢, рдмрд╛рджрд▓, рдЖрджрд┐ред рдФрд░ рдиреЛрдбреНрд╕ рдХреА рдорджрдж рд╕реЗ, рдЖрдк рдЫрд╡рд┐ рдХреЗ рдмрд╛рдж рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдЪрд┐рдВрддрдиреАрдпрддрд╛
рдЦреИрд░, рдкрд╣рд▓реЗ рддреЛ рдпрд╣ рд╕рд╡рд╛рд▓ рдореЗрд░реЗ рд▓рд┐рдП рдирд╛рд╕рдордЭреА рдХрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдпрд╣рд╛рдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд╕рд╡рд╛рд▓ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмреАрдЪ рд╣реИ, рдФрд░ рдпрд╣ рд╕рднреА GPU рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ (рдПрд░рд┐рдпрди рд░реЗрдВрдбрд░ рдФрд░ рд╕рднреА рд╕реАрдкреАрдпреВ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдкрд╛рдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред
рдЙрдирдХреЗ рдкрд╛рд╕ рд╕реНрдкреЗрдХреНрдпреБрд▓рд░ рдФрд░ рдЧреНрд▓реЙрд╕реА рд░рд┐рдлреНрд▓реЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЧреНрд▓реЙрд╕реА рдордЯреАрд░рд┐рдпрд▓ рд╣реИ, рдФрд░ рдбрд┐рдлреНрдпреВрдЬрд╝ рдХреЗ рд▓рд┐рдП рдбрд┐рдлреНрдпреВрдЬрд╝ рд╣реИред
рдпреЗ рд░рд╣реА рдмрд╛рддред рдпрджрд┐ рдХреЛрдИ рдкреНрд░рдХреАрд░реНрдгрди рдирд╣реАрдВ рд╣реИ, рддреЛ рдмреАрдо рдХреА рдШрдЯрдирд╛ рдХреЗ рдмрд┐рдВрджреБ рдкрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд┐рдЪрд▓рди рдХрд╛ рдорд╛рди 0 рд╣реИ, рдФрд░ рдмреАрдо рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ 1 (рдЕрдзрд┐рдХрддрдо) - рддреЛ рдХрд┐рд░рдг рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЧреЛрд▓рд╛рд░реНрдз рдореЗрдВ рдХрд┐рд╕реА рднреА рджрд┐рд╢рд╛ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рд╣рдо рдПрдХ рджрд░реНрдкрдг рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдзрд┐рдХрддрдо рдЦреБрд░рджрд░рд╛рдкрди рджреЗрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╢реНрд╡реЗрдд рдкрддреНрд░ рдорд┐рд▓рддрд╛ рд╣реИред рдореИрдХреНрд╕рд╡реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдпрджрд┐ рд░рдл-рдЧреНрд▓реЙрд╕реА рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдирд┐рдХрд▓рд╛ рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдлреИрд▓рд╛рдирд╛ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдлреИрд▓рд╛рдирд╛ рд╣реИред

рд╡рд╣реА рдкрд╛рд░рднрд╛рд╕реА shader рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд╛рд░рднрд╛рд╕реА рдЕрдиреБрд╡рд╛рдж рдПрдХ рдЕрдкрд╛рд░рджрд░реНрд╢реА рдорд╛рдзреНрдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рд╣реИ рдЕрдкрд╡рд░реНрддрдиред рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рдЯреНрд░рд╛рдВрд╕рд▓реВрд╕реЗрдВрдЯ, рдпрд╣ рдлреНрд░реЙрд╕реНрдЯреЗрдб рдЧреНрд▓рд╛рд╕ (рдореИрдЯ рд░рдлрдиреЗрд╕ рд╡рд╛рд▓рд╛ рдЧреНрд▓рд╛рд╕ рд╢реЗрдбрд░) рд╣реИред

рдЗрди рддрд╕реНрд╡реАрд░реЛрдВ рд╕реЗ рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЯреНрд░рд╛рдВрд╕рд▓реВрд╕реЗрдВрдЯ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рдЦрддрд╛ рд╣реИред

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЧреНрд▓реЙрд╕реА рдФрд░ рдЧреНрд▓рд╛рд╕ рдХреА рдЦреБрд░рджрд░рд╛рдкрди рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 1 (рдиреЗрддреНрд░рд╣реАрди, 0.7 рд╕реЗ рдЕрдзрд┐рдХ) рдбрд┐рдлреНрдпреВрдЬрд╝ рдФрд░ рдЯреНрд░рд╛рдВрд╕рд▓реВрд╕реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

Shaders рдХреЗ рдЧреБрдгреЛрдВ рдХреА рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ рд╣реИ ред

рдпреЗ рдкреНрд░рд╢реНрди рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрд▓рд┐рдХ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдФрд░ рдкреНрд░рд╢рдВрд╕рдиреАрдп рдкреНрд░рддрд┐рдмрд┐рдВрдм рдореЙрдбрд▓ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдЗрд╕рдХреЗ рдЕрднреНрдпрд╕реНрдд рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдХрд┐рд╕реА рднреА рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╕рддрд╣ рдХреА рдЦреБрд░рджрд░рд╛рдкрди рд╕реЗрдЯ рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдХреНрд╕рд╡реЗрд▓, рдлреНрд░рд╛рдИ, рдЗрдВрдбрд┐рдЧреЛ, рд▓рдХреНрд╕ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд▓рд╛рдЗрдбрд░реНрд╕ рдФрд░ рдЪреЗрдХ рдорд╛рд░реНрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╡рд┐рддрд░рдг рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рд╕рдмрд╕реЗ рдХрдареЛрд░ рдХреЗ рд▓рд┐рдП - рдмреЗрдЬрд┐рдпрд░ рдШрдЯрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд╡рд┐рддрд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ред рдЖрдЬреНрдЮрд╛ рджреЗрдирд╛, рдкреНрд░рджрд░реНрд╢рди рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд▓рд┐рдПред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд╛рдЗрдХрд┐рд▓ рдЗрд╕ рддрд░рд╣ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рдкрд╛рдкреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреА рд╣реИред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреГрд╢реНрдп рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рд╣реИрдВ (рдХрд╣рддреЗ рд╣реИрдВ, 2), рддреЛ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХреИрдорд░реЗ рд╕реЗ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рдмреАрдо рдмрдбрд╝реЗ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛, рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрддреЛрдВ рдХреА рддреАрд╡реНрд░рддрд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛, рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред рдЬрдм рдПрдХ рджреГрд╢реНрдп рдореЗрдВ рдПрдХ рдирд░рдо рдФрд░ рдХрдареЛрд░ рдкреНрд░рдХрд╛рд╢ рд╕рдВрдпреБрдХреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ (рдмрд╛рдИрдВ рдУрд░), рдФрд░ рдЬрдм рддрдХ рд╢реЛрд░ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рддрдм рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред

рдмрд╛рдИрдВ рдУрд░ рдХреА рддрд╕реНрд╡реАрд░ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рд╕рд╛рдордиреЗ рдХрд╛ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд "рд╢реЛрд░" рд╣реИ, рдЬрдмрдХрд┐ рдкреАрдЫреЗ рд╡рд╛рд▓рд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИред

рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдорди рдореЗрдВ рдЖ рд╕рдХрддреА рд╣реИ рд╡рд╣ рд╣реИ рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЗрдВ 2 рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рддрд╛рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЬреНрдпрд╛рджрд╛ рддрдХрд▓реАрдл рди рд╣реЛ, рд╕рд╛рдЗрдХрд▓ рдХрд╛ рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рд╣реИ: "рд╕реИрдВрдкрд▓ рдРрдЬрд╝ рд▓реИрдореНрдк", рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдирдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреИрдорд░реЗ рд╕реЗ рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд░рдгреЛрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рджрд┐рд╢рд╛ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛, рди рдХрд┐ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд (рд╢реБрджреНрдз рдкрде рдЕрдиреБрд░реЗрдЦрдг) рдХреА рджрд┐рд╢рд╛ рдореЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЫреЛрдЯрд╛ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдЬреАрддрддрд╛ рд╣реИ, рдФрд░ рдмрдбрд╝рд╛ рдПрдХ рдЫреЛрдЯрд╛ рдЦреЛ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рд╣реИ, рдФрд░ рдЬрд▓реНрдж рд╣реА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдкрд░ рд▓реЗ рдЬрд╛рдПрдЧрд╛ред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд░реВрдЯ рдЯреНрд░реЗрд▓рд░реЛрдВ рдореЗрдВ, рд╕рдмрд╕реЗ рдХрдард┐рди рдХрд╛рдо рдЫрд╡рд┐ рднрд░ рдореЗрдВ рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рднрд╛рд░ рдХрд╛ рд╕рд╣реА рд╡рд┐рддрд░рдг рд╣реИ: рдХрд┐рд╕ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЬреЛ рдЫреЛрдЯрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирдореВрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдЬреЛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдкрд░рддреЛрдВ рдореЗрдВ рд╕реЗ рдирдореВрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╣реИ - рдФрд░ рдЬреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХрд┐рд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдмреАрдо рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЖрджрд┐ред рдпрд╣ рдЕрдм рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рддрдВрдЧ рд╣реИред

рдЯрдорд╛рдЯрд░ рдмрдирд╛рдо рд╕рдВрддрд░реЗ
рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдореИрдХреНрд╕рд╡реЗрд▓ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрдХрд┐рд▓ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдВрдб рдХреЗ рдирдП рдУрдкрди рд╕реЛрд░реНрд╕ рд░реЗрдВрдбрд░рд░ рдХреЛ рдкреБрд░рд╛рдиреЗ рдХреЙрдорд░реЗрдбреЛрдВ рдХреЗ рдмрд░рд╛рдмрд░ рдмрдврд╝рдиреЗ рдФрд░ рд░рд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рддреЛ, рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди 400x300 рд╣реИ, рд╕рдордп 10 рд╕реЗрдХрдВрдб рд╣реИ:

рд╡реИрд╕реЗ рднреА рдореИрдХреНрд╕рд╡реЗрд▓ рдХрд╛рдлреА рдЬреАрд╡рдиреНрдд рджрд┐рдЦрддреЗ рд╣реИрдВред

рдореИрдХреНрд╕рд╡реЗрд▓ рдиреЗ рдХрд┐рд╕реА рднреА рд╕рддрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдирдореВрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирдореВрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рднреА рд▓реЛрдб рд╡рд┐рддрд░рдг рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИред
рд╕рд╛рдЗрдХрд┐рд▓ рдореЗрдВ рдХрд╛рд╕реНрдЯрд┐рдХ рд╕реЗ рдордЬрдмреВрдд рд╢реЛрд░ (рдФрд░ рдХрд╛рд╕реНрдЯрд┐рдХ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ) рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдореЗрдЯреНрд░реЛрдкреЛрд▓рд┐рд╕ рдирдореВрдирд╛рдХрд░рдг (рдмреАрдо рдЕрдиреБрдХреВрд▓рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЬреЛ рдореИрдХреНрд╕рд╡реЗрд▓ рд░реЗрдВрдбрд░ рд╣реИ) рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдпрд╛ рдПрдХ рдмрдбрд╝реЗ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рд╕реЗ рдкреНрд░рдХрд╛рд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕рд╛рдЗрдХрд▓ рдореЗрдВ рдЫрд╡рд┐ рдореИрдХреНрд╕рд╡реЗрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рд╕рд╛рдл рд╣реИред

5 рд╕реЗрдХрдВрдб рд░реЗрдВрдбрд░ рдХрд┐рдпрд╛ред


рдФрд░ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ (рдХреЛрд░ i5, 1 рдорд┐рдирдЯ)ред

BVH
рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рд╡реЙрд▓реНрдпреВрдо рдкрджрд╛рдиреБрдХреНрд░рдо - рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдбреЙрди )ред
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реЗрдВрдбрд░ рдореЗрдВ "рдкреНрд░реА-рдЯреЗрдВрдбрд░ рддреИрдпрд╛рд░реА" рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдУрдХрдЯрд╛рдЗрди рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдореЗрд╖, рдореИрдХреНрд╕рд╡реЗрд▓ рдореЗрдВ рд╡реЛрдХреНрд╕рд┐рд▓рд┐рдЬрд╝реЗрд╢рдиред рдореИрдВ, рдЬреИрд╕реЗ рдореИрдХреНрд╕рд╡реЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд▓реЛрдЧ, рдЗрд╕ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЛ рд╡реИрдХреНрд╕реАрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдХреЙрдорд░реЗрдб рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИред рдХреГрдкрдпрд╛ рдЗрд╕ рдЕрд╢реБрджреНрдзрд┐ рдХреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВред
рдЗрд╕ рдорд╛рдорд▓реЗ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддрд╛рдХрд┐ рджреГрд╢реНрдп рдореЗрдВ рд╕рднреА рддреНрд░рд┐рдХреЛрдгреЛрдВ рдХреЗ рд╕рд╛рде рдЪреМрд░рд╛рд╣реЗ рдкрд░ рд╣рд░ рдХрд┐рд░рдг рдХреА рдЬрд╛рдВрдЪ рди рд╣реЛред рдФрд░ рдЕрдЧрд░ рдЙрдирдореЗрдВ рд╕реЗ рд▓рд╛рдЦреЛрдВ рд╣реИрдВ? рдЙрди рд╕рднреА рдХреЛ рдЪреМрд░рд╛рд╣реЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдПрдХ рдЬреЛрдбрд╝реЗ рд╕реЗ рдЕрдзрд┐рдХ рдЧрддрд┐ рджреЗрдЦрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рддреНрд░рд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдмреАрд╡реАрдПрдЪ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣рдореЗрд╢рд╛ рд╕реАрдкреАрдпреВ рдкрд░ рдЪрдХреНрд░реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рджрд┐рди, GPU рдкрд░ voxelization рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдпрд╣ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реЗ рдЗрд╕рдХреА рд╕реАрдорд╛рдПрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рджреГрд╢реНрдп рдореЗрдВ 10 рдорд┐рд▓рд┐рдпрди рддреНрд░рд┐рдХреЛрдг рд╣реИрдВ, рдФрд░ 8 рдЯреЙрдк-рдПрдВрдб рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рд╣реИрдВред рд╡реЗ рд╕реЗрдХрдВрдб рдХреЗ рдПрдХ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рддрд╕реНрд╡реАрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдВрдЧреЗ, рдЬрдмрдХрд┐ рдПрдХ рд╡рд╕реНрддреБ рдХрд╛ рд╕реНрд╡рд░рдХрд░рдг рд╕рдордп рдПрдХ рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╢рд╛рдВрдд рдХреЛрд░ i7 рдкрд░ рднреАред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдХреЛрд░ i7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдорд┐рдирдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓реНрдЯреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ 20-30 рдорд┐рдирдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЛрдХреНрд╕рд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
рдКрдкрд░ рд╕реЗ рдЦреАрдВрдЪреА рдЧрдИ рдХрд╛рд░ (400k рддреНрд░рд┐рдХреЛрдг) рдХреЗ рд╕реНрд╡рд░ рдХреЛ 14 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред

рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди (рдкреНрд░реАрд╡реНрдпреВ) рдХреЗ рд╕рд╛рде, voxelization рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ (рд╡рд░реНрдЯрд┐рд╕ рдХреА рд╕реНрдерд┐рддрд┐, рд╕рдВрд╢реЛрдзрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ) рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рдеред рдФрд░ рдпрд╣ рднреА, рдЬрдм рдЖрдк Ctrl + Z рджрдмрд╛рддреЗ рд╣реИрдВ (рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛ, рдореИрдВрдиреЗ рд╢рд╛рдпрдж рдЕрднреА рддрдХ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ)ред рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ, рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд░рдиреЗ, рд╕реНрдерд╛рди рдмрджрд▓рдиреЗ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдШреВрдордиреЗ рдкрд░ рдмреАрд╡реАрдПрдЪ рдмрдирд╛рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдкреНрд░рддрд┐рдкрд╛рджрди (рдЬреЛ рдХрд┐ рдЕрдВрддрд┐рдо рдПрдХ рдХреЗ рджреМрд░рд╛рди, F12 рдмрдЯрди рджрдмрд╛рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рддреЛ рд╕рджреИрд╡ voxelization рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрдирд┐рдореЗрдЯ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреИрд╢ рдмреАрд╡реАрдПрдЪ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдмреАрд╡реАрдПрдЪ рд╕реНрдерд┐рд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдирд┐рд░рдВрддрд░ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдП рдЖрд╢рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрд▓реНрдж рд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╡реЛрдХрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рддреЗрдЬ рдХрд░рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЬреАрдкреАрдпреВ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

OpenCL
рдореЗрд░реА рдПрдирд╡реАрдбрд┐рдпрд╛ рдХреЗ рддрд╣рдд рдУрдкрдирд╕реАрдПрд▓рд╕реА, рд╕реАрдпреВрдбреАрдП рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧрддрд┐ рджреЛрдЧреБрдиреА рд╣реИред Ubuntu рдХреЗ рддрд╣рдд, OpenCL рдмреНрд▓реЗрдВрдбрд░ рд╕рд┐рд░реНрдл рджреБрд░реНрдШрдЯрдирд╛рдУрдВред Win7 рдХреЗ рддрд╣рдд, рдпрд╣ рдУрдкрдирд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд░реЗрдВрдбрд░рд░ рдореЗрд░реЗ рд▓рд┐рдП рдЧрд▓рдд рджрд┐рдЦрддрд╛ рд╣реИ , рдпрджрд┐ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдХрдИ рдкрд░рддреЗрдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрдордХ рдпрд╛ рдПрдХ рдореИрдЯ рдШрдЯрдХред рдФрд░ рд╡реНрдпреВрдкреЛрд░реНрдЯ рдореЗрдВ рдмрдЧ рдмрд╕ рдЕрд╕рдВрдЧрдд рд╣реИрдВред
Radeon рдкрд░, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреАрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВ, рд╢рд╛рдпрдж рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред

рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмреНрд░реЗрдХ
рдпрджрд┐ рд╕реАрдкреАрдпреВ рдкрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╡реЗрдм рдкрд░ рд╕рд░реНрдл рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреВрд░реНрдг рд▓реЛрдб рдкрд░ рдЬреАрдкреАрдпреВ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрдмрд░ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдкреЗрдЬ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рдП рддрд╛рдХрд┐ рдмреНрд░реЗрдХ рд╕реЗ рддрдирд╛рд╡ рди рд╣реЛред
рд╢рд╛рдпрдж GPU рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред

рдЕрдЧрд░ рдЖрдк рдмрд╣реБрдд рдЗрдВрдЯреНрд░реЗрд╕реНрдЯреЗрдб рд╣реИрдВ
рдЖрдк рдЗрд╕реЗ рдЕрднреА рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд▓реЗрдВрдбрд░ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рджрдо рдкрд░ рд╕рд╛рдЗрдХрд┐рд▓ рдЪрд▓рд╛рдПрдВ ред GPU рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП: рдлрд╝рд╛рдЗрд▓ -> рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ, рд╢реАрд░реНрд╖ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдЯреИрдм рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдФрд░ рдиреАрдЪреЗ рдмрд╛рдИрдВ рдУрд░ рдЖрдк рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдордВрдЪ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (CPU рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ)ред

рд╡рд┐рд╖рдп рд╕рдВрдмрдВрдзреА рд░рд╛рдп
рдЖрдЬ, рдЪрдХреНрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд┐рд╖рдп рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛: рдЪрдХреНрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдк рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдмрдВрдХреНрд╕рдкреАрдб рд╢реЙрдЯ, рд╣рд╛рдЗрдкрд░рд╢реЙрдЯ, рдХреАрд╢реЙрдЯ, рдСрдЯреЛрдбреЗрд╕реНрдХ рд╢реЛрдХреЗрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рддрд╛рдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ 3 рдбреА рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдореЙрдбрд▓ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реБрдВрджрд░ рд░реЗрдВрдбрд░ рдореЗрдВ рд╕рднреА рдкрдХреНрд╖реЛрдВ рд╕реЗ рдЗрд╕рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдЙрддреНрд╕рд╛рд╣ рдкрд░ рдЦреБрд╢реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреВрд░реЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рд╕рдореБрджрд╛рдп рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рд╣реИред
рдореИрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдЧреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реВрдВред

Source: https://habr.com/ru/post/In142213/


All Articles