64k рдкрд░рд┐рдЪрдп рдХреЗ рд▓рд┐рдП рдмрдирд╛рд╡рдЯ: рдпрд╣ рдЖрдЬ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдпрд╣ рд▓реЗрдЦ рд╣рдорд╛рд░реЗ рдПрдЪ - рд╡рд┐рд╕рд░реНрдЬрди рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рджреЛ рднрд╛рдЧ рд╣реИ ред рдкрд╣рд▓рд╛ рднрд╛рдЧ рдпрд╣рд╛рдБ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рд╡рд┐рд╕рд░реНрдЬрди рдореЗрдВ рд╡рд┐рд╕рд░реНрдЬрди ред

рдХреЗрд╡рд▓ 64 KB рдХрд╛ рдПрдиреАрдореЗрд╢рди рдмрдирд╛рддреЗ рд╕рдордп, рддреИрдпрд╛рд░ рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдЙрдиреНрд╣реЗрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рд╕рдВрдкреАрдбрд╝рди рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬреЗрдкреАрдИрдЬреАред рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреАрдврд╝реА рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рдмрдирд╛рд╡рдЯ рдЬрдирд░реЗрдЯрд░ рдерд╛ - рд╣рдорд╛рд░реЗ рдЯреВрд▓рдХрд┐рди рдХрд╛ рдПрдХ рдореМрд▓рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рд╣рдордиреЗ H - Immersion рдореЗрдВ рдХреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред


рдкрдирдбреБрдмреНрдмреА рдХреЗ рдЬрд▓рдкреНрд░рдкрд╛рдд рд╕реАрдмрдб рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рд░реЛрд╢рди рдХрд░рддреЗ рд╣реИрдВред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг


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


рдПрдХ рд╕рд░рд▓ рдкреИрдЯрд░реНрди, рдереЛрдбрд╝рд╛ рд╢реЛрд░ рдФрд░ рд╡рд┐рд░реВрдкрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдПрдХ рд▓рдХрдбрд╝реА рдХреА рдмрдирд╛рд╡рдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдПрдл - рдлреЗрд▓рд┐рдХреНрд╕ рдХреА рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛ рдХреЗ рдЗрд╕ рджреГрд╢реНрдп рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд▓рдХрдбрд╝реА рдХреА рдмрдирд╛рд╡рдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЗрд╕ рдЬрдирд░реЗрдЯрд░ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЗрд╕реЗ рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдЫреЛрдЯреА PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡реЗрдм рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред рд╣рдо рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдмрдирд╛рд╡рдЯ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЗрд╕реЗ рдЬрдирд░реЗрдЯрд░ рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдПрдирдЬреА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдбрдВрдк рдХрд░ рджрд┐рдпрд╛ред рдмрд╣реБрдд рдЬрд▓реНрдж, рд╣рдордиреЗ рд▓рдВрдЪ рдмреНрд░реЗрдХ рдХреЗ рджреМрд░рд╛рди рдХрд╛рдо рдкрд░ рд╕рд╣реА рд╕реНрдХреЗрдЪрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреА рдФрд░ рд╕рдореВрд╣ рдХреЗ рдЕрдиреНрдп рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдЫреЛрдЯреА рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ред рдЗрд╕ рдмрд╛рддрдЪреАрдд рдиреЗ рд╣рдореЗрдВ рд░рдЪрдирд╛рддреНрдордХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред


рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ рдмрдирд╛рд╡рдЯ рдЬрдирд░реЗрдЯрд░ рдХреА рд╡реЗрдм рдЧреИрд▓рд░реАред рд╕рднреА рдмрдирд╛рд╡рдЯ рдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреВрд░рд╛ рдирдпрд╛ рд╕реНрд╡рд░реВрдк


рд▓рдВрдмреЗ рд╕рдордп рддрдХ, рдмрдирд╛рд╡рдЯ рдЬрдирд░реЗрдЯрд░ рд▓рдЧрднрдЧ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рд╛; рд╣рдордиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рдерд╛, рдФрд░ рд╣рдорд╛рд░реА рдкреНрд░рднрд╛рд╡рд╢реАрд▓рддрд╛ рдмрдврд╝рдиреА рдмрдВрдж рд╣реЛ рдЧрдИред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдордВрдЪреЛрдВ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд▓рд╛рдХрд╛рд░ рд╣реИрдВ , рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдмрдирд╛рд╡рдЯ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╕рд╛рдордЧреНрд░реА рдПрдХ рдмрд╛рд░ рдбреЗрдореЛ рджреГрд╢реНрдп рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдереА, рд▓реЗрдХрд┐рди рдПрд▓реЗрдЧреЛрд░рд┐рдердорд┐рдХ , рд╢реИрдбрд░рдЯреЙрдп рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдиреЗ рдЗрд╕реЗ рдЖрдо рдЬрдирддрд╛ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рдмрдирд╛ рджрд┐рдпрд╛ред рд╣рдордиреЗ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛, рдФрд░ рд╡реЗ рд╣рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдВрдзреЗ рдХреЗ рдмреНрд▓реЗрдб рдкрд░ рд░рдЦрдиреЗ рд▓рдЧреЗред рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп!


рдХрдкрдбрд╝реЗ рдХреА рдереИрд▓реА ред рдкрджрд╛рд░реНрде рдбрд┐рдЬрд╛рдЗрдирд░ рдореЗрдВ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдХрдкрдбрд╝реЗ рдХреА рдмрдирд╛рд╡рдЯред рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛: Imanol Delgadoред www.artstation.com/imanoldelgado

рдЫрд╡рд┐

рд╡рди рддрд▓ ред рдкрджрд╛рд░реНрде рдбрд┐рдЬрд╛рдЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╡рди рдорд┐рдЯреНрдЯреА рдХреА рдмрдирд╛рд╡рдЯред рдбреИрдирд┐рдпрд▓ рдерд┐рдЧреЗрд░ рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред www.artstation.com/dete

рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЬрд░реВрд░рдд рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдПрдХ рд╣реА рдмрдирд╛рд╡рдЯ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдХрд╛рдо рдиреЗ рд╣рдореЗрдВ рдЗрд╕рдХреА рдХрдорд┐рдпреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдорд╛рд░реЗ рдирд╡рдЬрд╛рдд рдЬрд╛рд▓ рдЬрдирд░реЗрдЯрд░ рдиреЗ рд╣рдореЗрдВ рдпрд╣ рднреА рдмрддрд╛рдпрд╛ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╕рд╛рдордЧреНрд░реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдХреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд╛рдкрддреНрдп рдЧрд▓рддреА рдмрдирд╛рд╡рдЯ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреАрдврд╝реА рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдерд╛ред рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ , рдмрдирд╛рд╡рдЯ рдЬреИрд╕реЗ рдХрд╛рд░реНрдпред DoSomething () рдпрд╛ Combine (рдмрдирд╛рд╡рдЯ, рдмрдирд╛рд╡рдЯ) рдореЗрдВ рдЧрдВрднреАрд░ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВред

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

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

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

рдпрд╣ рдорд╛рдореВрд▓реА рдмрджрд▓рд╛рд╡ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рдПрдкреАрдЖрдИ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреА рд╣реИ, рдкреАрдврд╝реА рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдФрд░ рдЕрднрд┐рд╡реНрдпрдВрдЬрдХ рдмрдирд╛рддреА рд╣реИ, рдЕрдзрд┐рдХ рдХреИрд╢-рдлреНрд░реЗрдВрдбрд▓реА рд╣реИ, рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдХрдИ рдкрд╛рдардХреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╢реЗрдбрд░ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд C ++ рдХреЛрдб рд░рд╣рддрд╛ рд╣реИред рд╣рдо рдЕрднреА рднреА рд▓реВрдк рдХреЗ рдмрд╛рд╣рд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджреГрдврд╝ рд╕рдВрдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ред

рдпрд╣ рдерд╛:


//     . // API . //    -  API. //      . class ProceduralTexture { void DoSomething(parameters) { for (int i = 0; i < size; ++i) { //   . (*this)[i] = тАж } } void PerlinNoise(parameters) { тАж } void Voronoi(parameters) { тАж } void Filter(parameters) { тАж } void GenerateNormalMap() { тАж } }; void GenerateSomeTexture(texture t) { t.PerlinNoise(someParameter); t.Filter(someOtherParameter); тАж //  .. t.GenerateNormalMap(); } 

рдпрд╣ рдмрди рдЧрдпрд╛:


 //       . // API . //     . //      . class ProceduralTexture { void ApplyFunction(functionPointer f) { for (int i = 0; i < size; ++i) { //    . (*this)[i] = f((*this)[i]); } } }; void GenerateNormalMap(ProceduralTexture t) { тАж } void SomeTextureGenerationPass(void* out, PixelInfo in) { result = PerlinNoise(in); result = Filter(result); тАж //  .. *out = result; } void GenerateSomeTexture(texture t) { t.ApplyFunction(SomeTextureGenerationPass); GenerateNormalMap(t); } 

рд╕рд╛рде рдореЗрдВ рдЪрд▓рд╛рдирд╛


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

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




рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЪрд┐рддреНрд░рдг рдЬреЛ рд╣рдордиреЗ рдПрдЪ - рд╡рд┐рд╕рд░реНрдЬрди рдХреЗ рд▓рд┐рдП рдЦреЛрдЬрд╛ рдФрд░ рддреНрдпрд╛рдЧ рджрд┐рдпрд╛: рдСрд░рд┐рдХреНрд▓реЗрди рдЕрд╕реНрддрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдореЛрдЬрд╝реЗрдХ рд╕рдЬрд╛рд╡рдЯред рдпрд╣рд╛рдБ рдпрд╣ рд╣рдорд╛рд░реЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдПрдбрд┐рдЯрд┐рдВрдЧ рдЯреВрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

GPU рдкрдХреНрд╖ рдкреАрдврд╝реА


рдпрджрд┐ рдпрд╣ рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕реАрдкреАрдпреВ рдореЗрдВ рдмрдирд╛рд╡рдЯ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╢рд╛рдпрдж рдЖрдк рдореЗрдВ рд╕реЗ рдХреБрдЫ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣реИрд░рд╛рди рд╣реИрдВ "рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ?"ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯ рдХрджрдо рд╡реАрдбрд┐рдпреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдмрдирд╛рд╡рдЯ рдкреАрдврд╝реА рд╣реИред рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рдкрд░рд┐рдорд╛рдг рдХреЗ рдХреНрд░рдо рд╕реЗ рдкреАрдврд╝реА рджрд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░реЗрдЧрд╛ред рддреЛ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ?

рдореБрдЦреНрдп рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдЫреЛрдЯреЗ рд░рд┐рдбрд┐рдЬрд╛рдЗрди рдХрд╛ рд▓рдХреНрд╖реНрдп рд╕реАрдкреАрдпреВ рдкрд░ рдмрдиреЗ рд░рд╣рдирд╛ рдерд╛ред рдПрдХ GPU рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реЛрдЧрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╛рдоред рд╣рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред рд╕реАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд╕рдордЭ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкрд┐рдЫрд▓реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐, рдирдП рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, GPU рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЕрдм рдмрд╣реБрдд рддреБрдЪреНрдЫ рд▓рдЧрддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рд╕рдВрдпреЛрдЬрди рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рдпреЛрдЧ рд╣реЛрдЧрд╛ред

рдмрдирд╛рд╡рдЯ рдкреАрдврд╝реА рдФрд░ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рдЯреАрдХ рдЫрд╛рдпрд╛рдВрдХрди


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

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

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










рдирдИ рд╕рдВрд░рдЪрдирд╛ рд╣рдореЗрдВ рдмрдирд╛рд╡рдЯ рдХреЗ рд▓рд┐рдП рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рд╛рд░реВрдк рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЗрд╕реЗ рдПрдкреАрдЖрдИ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕реЗ рд╕рднреА рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдХреЛрдб рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдкрд┐рдХреНрд╕реЗрд▓ рдкреНрд░рд╛рд░реВрдк рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдП рдмрд┐рдирд╛ рд░рдЪрдирд╛рддреНрдордХ рдХреЛрдб рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд░рди рдЯрд╛рдЗрдо рдореЗрдВ, рдпрд╣ рдХрдИ рдмрдирд╛рд╡рдЯ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ GPU рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдЧрд╛ред

рдХреБрдЫ рдкреАрдмреАрдЖрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ, рдлреИрд▓рд╛рдирд╛ рдФрд░ рд╕реНрдкреЗрдХреНрдпреБрд▓рд░ рд░рдВрдЧ рд╕реАрдзреЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, "рдмреЗрд╕ рдХрд▓рд░" рдФрд░ "рдореЗрдЯрд▓рдиреЗрд╕" рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рдПрдЪ - рд╡рд┐рд╕рд░реНрдЬрди рдореЗрдВ, рд╣рдо рдбрд┐рдлреНрдпреВрдЬрд╝ + рд╕реНрдкреЗрдХреБрд▓рд░ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдкрд╛рдВрдЪ рдкрд░рддреЗрдВ рд╣реЛрддреА рд╣реИрдВ:

  1. рдбрд┐рдлреНрдпреВрдЬрд╝ рд░рдВрдЧ (RGB; 0: Vantablack ; 1: рддрд╛рдЬрд╝рд╛ рдмрд░реНрдлрд╝ )ред
  2. рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░рдВрдЧ (RGB: 90 рдбрд┐рдЧреНрд░реА рдкрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдкреНрд░рдХрд╛рд╢ рдХрд╛ рдЕрдВрд╢, рдЬрд┐рд╕реЗ F0 рдпрд╛ R0 рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
  3. рдЦреБрд░рджрд░рд╛рдкрди (рдП; 0: рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЪрд┐рдХрдиреА; 1: рд░рдмрд░ рдХреА рддрд░рд╣)ред
  4. рд╕рд╛рдорд╛рдиреНрдп (XYZ; рдЗрдХрд╛рдИ рд╡реЗрдХреНрдЯрд░)ред
  5. рдЗрд▓рд╛рдХреЗ рдХреА рдКрдВрдЪрд╛рдИ (рдП; рд▓рдВрдмрди рд░реЛрдбрд╝рд╛ рдорд╛рдирдЪрд┐рддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛)ред

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



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

рдЕрдбрд╝рдЪрдиреЗрдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдХрд╛рдо


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

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

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

рдЫрд╡рд┐

рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдЗрдорд╛рджреЛрд▓ рдбреЗрд▓рдЧрд╛рдбреЛ рдХреЗ рдХрд╛рдо рдХреЗ рд╕рдорд╛рди рдХрдкрдбрд╝реЗ рдХреА рдмрдирд╛рд╡рдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдпреЛрдЧред

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


All Articles