рдПрдХ рдПрдиреАрдореЗрд╢рди рдХреА рдХрд╣рд╛рдиреА

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



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


рдзреБрдВрдзрдпреБрдХреНрдд рдХрд╛рдВрдЪ рдХреЗ рдкреАрдЫреЗ рдХреЛрдмрд╡реЗ


рдХрд┐рд╕реА рддрд░рд╣ рдореИрдВ рдмреИрда рдЧрдпрд╛ рдФрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ред рдлрд┐рд░ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕реЗ рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рднрд╛рд╡ рдмрд╣реБрдд рд╢реМрдХреАрди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдкреВрдЫрддрд╛ рд╣реИ: "рдХреНрдпрд╛ рдЖрдк рдПрдХ рдХреЛрдмрд╡реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдлреЙрдЧреНрдб рдЧреНрд▓рд╛рд╕ рдХреЗ рдкреАрдЫреЗ?"

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



рдпрд╣ рдПрдХ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рд╣реИ, рд▓реЗрдХрд┐рди рдбрд┐рдЬрд╛рдЗрдирд░ рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдПрдХ "рдордХрдбрд╝реА рдХрд╛ рдЬрд╛рд▓ред" рдорд┐рд╕реНрдб рдЧреНрд▓рд╛рд╕ - рдпрд╣ рдЧреНрд░рд┐рдб рджреВрд░реА рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдЪрд╛рд░ рдХрдард┐рдирд╛рдЗрдпреЛрдВред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЕрдВрддрд░реНрдореБрдЦреА рд╣реЛрдирд╛ рдФрд░ рдПрдирд┐рдореЗрд╢рди рдмрдирд╛рдирд╛ рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реИ? рд▓реЗрдХрд┐рди рдореИрдВ рдРрд╕рд╛ рд╣реА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдпрд╣реА рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

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

рдЗрд╕ рдПрдиреАрдореЗрд╢рди рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ рдкрд░ "рд╕реНрдкрд╛рдЗрдбрд░ рд╡реЗрдм" рдХреЗ рд▓рд┐рдП рдХрдИ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдереЗ: рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдЧреНрд░реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░, рдиреАрдЪреЗ рдПрдХ рд╕рдлреЗрдж рдкрд░ред рдЗрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдерд╛ рддрд╛рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдорд╛рдЙрд╕ рдХреЗ рдЖрдВрджреЛрд▓рди рдХрд╛ рдЬрд╡рд╛рдм рджреЗред

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

рдореБрдЭреЗ рдЕрдЬреАрдм рдХрд╛рд░рдирд╛рдореЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдкрд╕рдВрдж рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдореИрдВ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдкреАрдбрд╝рд┐рдд рд╣реЛрддрд╛ рд╣реВрдВред

рджреБрдЦ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рдХрд╛рд╕ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рджреБрдЦ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ - рдЖрдк рд╣рд░ рдЪреАрдЬ рд╕реЗ рдЦреБрд╢ рдирд╣реАрдВ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЦреБрд╢реА рд╕реЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

Three.js


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

рддреАрди.js рдореЗрдВ рдХрдИ рддреИрдпрд╛рд░ рд╡рд╕реНрддреБрдПрдВ рд╣реИрдВред рдкреНрд▓реЗрдирдЬреЛрдореЗрдЯреНрд░реА рдкрд╣рд▓реА рд╡рд╕реНрддреБ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдПрдХрджрдо рд╕рд╣реА рд▓рдЧрддреА рд╣реИред рдпрд╣ рдПрдХ рдЖрджрд┐рдо рд╡рд┐рдорд╛рди рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдиреНрд╕, рдбреЛрдбреЗрдХреЗрд╣реЗрдбреНрд░реЙрди, рдЖрдЗрд╕реЛрд╕рд╛рдПрдбреНрд░реЛрди, рд╕рд┐рд▓реЗрдВрдбрд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрдИ рддреНрд░рд┐рднреБрдЬреЛрдВ рд╕реЗ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдорд╛рди рд╣реИред


рдХрдИ рддреНрд░рд┐рдХреЛрдг рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╡рд┐рд╕реНрддреГрдд рддрд░рдВрдЧреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рд╕рддрд╣ рдХреЛ рдЪрд┐рдВрддрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЖрдк рдереНрд░реАред рдЬреЗрдПрд╕ рдХреЗ рдЕрдВрджрд░ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд┐рдорд╛рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЬреЗрдПрд╕-рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрдХреЛрдВ рдХреЗ рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВред



рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ 50 ├Ч 50 рд╡рд░реНрдЧ рдХреЗ рд╡рд┐рдорд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ 2601 рдХреЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред 50 ├Ч 50 = 2601 рдХреНрдпреЛрдВ? рдпрд╣ рд╕реНрдХреВрд▓ рдХрд╛ рдЧрдгрд┐рдд рд╣реИред рд╕рдордиреНрд╡рдп z = 0, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдорд╛рди, y = 1, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ 50 рдЯреБрдХрдбрд╝реЛрдВ рдХреЗ рдХреЛрдиреЗ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд╣реИ, рдФрд░ рдПрдХреНрд╕ рдмрджрд▓рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд┐рдорд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдореЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдЖрдк рдХрд┐рд╕реА рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ рдЙрд╕ рдкрд░ рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдп рдХрд░рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, for each рд▓реВрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВ рдФрд░ x рд╕рдордиреНрд╡рдп рдХреЗ рд╕рд╛рдЗрди рдорд╛рди рдХреЗ рд▓рд┐рдП z-рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВред



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

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

рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╢реАрд░реНрд╖ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореЗрдВ, рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдкрдбрд╝реЛрд╕рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред



рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рд╡рдХреНрд░ рд╣реИ рдЬреЛ рд╕рдореБрджреНрд░ рдпрд╛ рд╡реЗрдм рд╕реЗ рдХреЗрд╡рд▓ рджреВрд░ рд╕реЗ рдорд┐рд▓рддрд╛ рдЬреБрд▓рддрд╛ рд╣реИред "рд╣реИрдХрд░реНрд╕" рдФрд░ рд╕рд╛рдЗрдмрд░ рдЪреЛрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдлрд┐рд▓реНрдо рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред

рдпрджрд┐ рдЖрдк рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдлреЗрдж рд╢реЛрд░ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ - рдмрд╣реБрдд рдЫреЛрдЯреЗ рд╕рдлреЗрдж рдФрд░ рдХрд╛рд▓реЗ рдбреЙрдЯреНрд╕ред рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХрд╛рд▓рд╛ рдФрд░ рд╕рдлреЗрдж рд╣реИ - 0 рдпрд╛ 1ред

рд▓реЗрдХрд┐рди рд▓рд╣рд░реЛрдВ рдХрд╛ рд╕рд╛рдЧрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдЬреЛ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред


рдпрд╣ рдХреЛрд╣рд░реЗ, рдФрд░ рдмрд╛рджрд▓реЛрдВ рдФрд░ рдкрд╣рд╛рдбрд╝реЛрдВ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

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

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

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



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


рдХрд╛рд▓реА рдФрд░ рд╕рдлреЗрдж рдмрд╕ рдКрдБрдЪрд╛рдИ рд╣реИ: 0 рдХрд╛рд▓реА рдШрд╛рдЯрд┐рдпрд╛рдБ рд╣реИрдВ, 1 рд╕рдлреЗрдж рдЪреЛрдЯрд┐рдпрд╛рдБ рд╣реИрдВред рдпрд╣ рдПрдХ рд▓рд╣рд░рд╛рддреА рд╕рддрд╣ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕рднреА рдкреАрдПрд▓ рдкрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ - рд╕рд╛рдЗрди, рдХреЙрдЬрд╝рдиреЗрд╕, рдЧреБрдгрд╛ред

рдореИрдВ рдЕрдкрдиреЗ PlaneGeometry рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рдХреЛрдиреЗ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реБрдП рд╡рд┐рд░реВрдкрдг рдХреЛ рдЙрд╕реА рддрд░рд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреЛ рд╢реЛрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рди рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИ:

 geometry.vertices.forEach(v => { vz = noise(vx, vy, time); }); 

рдлрд╝рдВрдХреНрд╢рди рдХреЗрд╡рд▓ 30-40 рд▓рд╛рдЗрдиреЗрдВ рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧрдгрд┐рддреАрдп рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рд╣реИред

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

Three.js! == рдЬреАрдкреАрдпреВ


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



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

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╢реЛрд░ рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ 2600 рдмрд╛рд░ рдмрджрд▓ рдЧрдпрд╛, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореЗрд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдлреНрд░реЗрдо рдХрд╛ 2/3 рд▓реЗрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдкреВрд░рд╛ рдлреНрд░реЗрдо рдирд╣реАрдВ рд╣реИред рдПрдирд┐рдореЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд▓рд╛рд▓ рдЭрдВрдбрд╛ рд╣реИред

рдХрд┐рд╕реА рднреА рдПрдирд┐рдореЗрд╢рди рдХреЛ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рдлреНрд░реЗрдо рдкрд░ рдХрдмреНрдЬрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░реИрдХреНрд╢рди, рдХрд┐рд╕реА рднреА рдмрдЯрди, рдХрд┐рд╕реА рднреА рдорд╛рдЙрд╕рдУрд╡рд░ рдХреЗ рджреМрд░рд╛рди рдлреНрд░реЗрдо рдХреЛ рдЦреЛрдиреЗ рдХрд╛ рдПрдХ рдЙрдЪреНрдЪ рдЬреЛрдЦрд┐рдо рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдПрдХ рдХрдард┐рди рд▓рд╛рд▓ рдЭрдВрдбрд╛ рдерд╛ред рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рддреАрди.рдЬреЗрдПрд╕ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рд╡реЗрдмрдЬреАрдПрд▓ рд╣реЛред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдореИрдВ рдереНрд░реА.рдЬреИрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ 3 рдбреА рдореЗрдВ рд╕рдм рдХреБрдЫ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛, рдЗрд╕реЗ рд╡реЗрдмрдЬреАрдПрд▓ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореБрдЭреЗ рд╡реЗрдмрдЬреАрдПрд▓ рд╕реЗ рд╢рд╛рдирджрд╛рд░ рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ 2,600 рдХреЛрдиреЗ рд╣реИрдВ - рдпрд╣ WebGL рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рд╣рдЬрд╛рд░реЛрдВ рд╡рд╕реНрддреБрдПрдВ рд╣реЛрддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рджрд░реНрдЬрдиреЛрдВ рддреНрд░рд┐рдХреЛрдг рд╣реЛрддреЗ рд╣реИрдВред рдкреИрдорд╛рдиреЗ рдХрд╛ рдЕрдиреБрдорд╛рди рдХрд░реЗрдВ: рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ 2600 рдЪреЛрдЯрд┐рдпрд╛рдВ рд╣реИрдВред

рд╡рд░реНрдЯреЗрдХреНрд╕ рд╢реЗрдбрд░


рдлреНрд░реЗрдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╢реЗрдб рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рджреЛ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

  • рд╡рд░реНрдЯреЗрдХреНрд╕ рд╢реЗрдбрд░;
  • рдШрд░реНрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ред

рдореБрдЭреЗ рд╡рд░реНрдЯреЗрдХреНрд╕ рд╢реЗрджрд░ - рд╡рд░реНрдЯреЗрдХреНрд╕ рд╢реЗрдбрд░ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереАред рдпрджрд┐ рд╣рдо рдЗрд╕ рдкрд░ рдПрдиреАрдореЗрд╢рди рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 position.z = noise( vec3(position.x, position.y, time) ); 

Position.z - рдШрдЯрдХ z рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХрд░рддрд╛ рд╣реИред vec3 рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рддреАрди рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрдВрдЧреЗред

рд╢реЗрдбрд░ рдореЗрдВ рдХреЛрдИ рд▓реВрдк рдирд╣реАрдВ рд╣реИред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдореИрдВрдиреЗ for each рд▓реВрдк рдХреЗ for each рд░рдЦрд╛, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдХреЗ рд▓рд┐рдП, рдЧрдгрдирд╛ рдПрдХ рд▓реВрдк рдореЗрдВ рд╣реБрдИред рд╢реЗрдбреНрд╕ рдФрд░ рдиреЙрди-рд╢реЗрдбрд░реНрд╕ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдПрдХ рдЪрдХреНрд░ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╣реИред

рд╢реЗрдбрд░ - рдпрд╣ рдЪрдХреНрд░ рд╣реИред

рдпрд╣ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рдХреЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рдЕрд░реНрде рд╣реИ, рдФрд░ рдорд┐рд╢рди, рдФрд░ рдЪрд┐рдк, рдФрд░ рдорд┐рд╢рдиред

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

рдпрджрд┐ рдЖрдк рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдПрдиреАрдореЗрд╢рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред



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

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


рдкрд░рд┐рдгрд╛рдо рдПрдХ рдРрд╕реА рд╕рддрд╣ рд╣реИ - рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдкреЗрд░реНрд▓рд┐рди-рд╢реЛрд░ рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рд╕рдордп рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдардВрдбреА рд▓рд╣рд░реЗрдВ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВред

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



рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП! рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВред рдпрд╣ рдореЗрд░реЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреНрд░рд┐рдкреНрдЯреЛрдХреНрдпреВрд░реЗрдВрд╕реА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдиреАрдореЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА - рд╕рдм рдХреБрдЫ "рдорд╣рдВрдЧрд╛, рд╕рдореГрджреНрдз" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

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

рдШрд░реНрд╖рдг рдХрд░рдиреЗ рд╡рд╛рд▓рд╛


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

рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА fragment shader тАУ step(a,b) рдлрд╝рдВрдХреНрд╢рди fragment shader тАУ step(a,b) ред рдпрд╣ рдХреЗрд╡рд▓ 0 рдФрд░ 1 рджреЗрддрд╛ рд╣реИ:

  • рдЕрдЧрд░ рдПрдХ> рдмреА, рддреЛ 0;
  • рдпрджрд┐ рдПрдХ <b, рддреЛ 1ред

рдореИрдВрдиреЗ рдЬреЗрдПрд╕ рдореЗрдВ рдПрдХ рдЫрджреНрдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд┐рдпрд╛ рдЬрд┐рд╕рд╕реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХреЗ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдп рдХрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реИред

 function step(a, b) { if (a < b) return 0 else return 1 } 

рдЬрдм рдЖрдк WebGL рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдорддреМрд░ рдкрд░ рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдПрдХ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рд╣реЛрддреА рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ рд╡рд░реНрдЧ рд╡рд╕реНрддреБ рд╣реИ, рддреЛ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рдЖрджрд┐рдо рд╣реИ: рдЕрдВрдХ (0,0), (0,1), (1,0), (1,1)ред

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

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

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ 0.4 рд╕реЗ рдХрдо рд╕рдм рдХреБрдЫ 0 рд╣реЛрдЧрд╛, рдЬреЛ рд╕рдм рдХреБрдЫ 1 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рд╡реЗрдмрд▓реЙрдЧ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛рдПрдВ рдФрд░ рд░рдВрдЧ рдПрдХ рд╕рдорд╛рди рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧ рдПрдХ рдирдВрдмрд░ рд╣реИред рд╕рдлреЗрдж - 1, рдХрд╛рд▓рд╛ - 0. рдЖрд░рдЬреАрдмреА рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рддреАрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА 0.0.0 рдФрд░ 1.1.1 рд╣реИред



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

рдпрджрд┐ рдЖрдк рдЗрди рджреЛ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕рдлреЗрдж рдкрдЯреНрдЯреА рдорд┐рд▓рддреА рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд▓рдЧ рдЕрдХреНрд╖ рдкрд░ рдПрдХ рд╣реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рд╕рдлреЗрдж рд╡рд░реНрдЧ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:


рдпрд╣ рдЪрд░рдореЛрддреНрдХрд░реНрд╖ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╣рдордиреЗ рдПрдХ рд╕рдлреЗрдж рд╡рд░реНрдЧ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛!

рд╕рд┐рд░реНрдл рдПрдХ рдлрдВрдХреНрд╢рди рдХреЗ рдХреЙрдореНрдмрд┐рдиреЗрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдХреЗ рдЖрдк рдордирдЪрд╛рд╣реА рдЪреАрдЬ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред

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

Smoothstep


рд╢реЗрдбреНрд╕ рдХрд╛ рдПрдХ рд╕реНрдореВрдерд╕реНрдЯреЗрдк рдлрд╝рдВрдХреНрд╢рди рд╣реИред рдпрд╣ рдХрджрдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди 0 рдФрд░ 1 рдХреЗ рдмреАрдЪ рдЗрдВрдЯрд░рдкреЛрд▓ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдПрдХ рдврд╛рд▓ рд╣реЛред


рдЕрдзрд┐рдХрддрдо рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдмрд╛рдж рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВред

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

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЪрд┐рдХрдиреА рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдлреЗрдж рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдпрджрд┐ рдПрдХ рд╕рдлреЗрдж рд╡рд░реНрдЧ рд╣реИ, рддреЛ рдЖрдк 3 рд╕рдлреЗрдж рд╡рд░реНрдЧ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред


рд╡рд░реНрдЧреЛрдВ рдХреЛ рдШреБрдорд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рдЗрди рдФрд░ рдХреЛрд╕рд╛рдЗрди рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдлрд┐рд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкреИрдЯрд░реНрди рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдЧрдЬ рдФрд░ рдПрдХ рдкрддреНрддреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред


рдЙрддреНрдкрд╛рджрди рд╕реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯред

рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ 23 рд╡рд┐рднрд┐рдиреНрди рдбрд┐рдЧреНрд░реА рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрди рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ред рдФрд░ рдлрд┐рд░ рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреИрдЯрд░реНрди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



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

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

рдПрд╕рдбреАрдПрдл


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



рдпрд╣ рдПрдХ рдЧрдгрд┐рддреАрдп рдкреНрд░рд╛рд░реВрдк рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗрдмрдЬреАрдПрд▓ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХрдард┐рди рд╣реИред рд╡рд┐рдЪрд╛рд░ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ рдФрд░ рдПрдХ рд╕реБрдВрджрд░ рдкреНрд░рднрд╛рд╡ рджреЗрддрд╛ рд╣реИред

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

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

рдмреЗрд╢рдХ, рдПрдХ рд╕реАрдорд╛ рд╣реИред рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ 1000 рдкреАрдПрдХреНрд╕ рддрдХ рдмрдврд╝рд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 100 рдкреАрдПрдХреНрд╕ рднреА рдмрджрд╕реВрд░рдд рджрд┐рдЦреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдХрд┐рддрдиреА рдмрд╛рд░ рдЗрд╕ рдЖрдХрд╛рд░ рдХреЗ рдлреЛрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ?

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



рдирдИ рд╢рд░реНрддреЗрдВ


рд╡рд╣ рдЬреИрд╕рд╛ рдерд╛ рд╡реИрд╕рд╛ рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдХреБрд╢реНрддреА, рд╕рднреА рддрддреНрд╡ рд╕реНрдкрд╖реНрдЯ рдереЗред рд╕рдм рдХреБрдЫ рдЬреИрд╕рд╛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдФрд░ рднреА рдерд╛:

- рдФрд░ рдЙрд╕реЗ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рджрд┐рдпрд╛ рдФрд░ рдПрдХ рдирдпрд╛ рд░рд╛рд╕реНрддрд╛ рдмрд┐рдЫрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдФрд░ рдЫрддреНрддреЗ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ!

рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ рдХрд┐ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдЙрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреВрдЯреЗ рд╣реБрдП "рдХреЙрдмрд╡реЗрдм" рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд╛рдВрдЯреЗрджрд╛рд░ рдкрде рдХреЛ рд░реВрдкрдХ рджреЗрддрд╛ рд╣реИред



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

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


рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЭрд▓реНрд▓рд╛рд╣рдЯ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ - рдорд╣рд▓ рдХреЛ рджреЗрдЦреЗрдВред рдЕрдиреНрдп рдмрдирд╛рд╡рдЯреЛрдВ рдкрд░, рдПрдХ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рдХрд╛ рднреА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред


"рд╕рднреНрдпрддрд╛" рдореЗрдВ рд╕рдм рдХреБрдЫ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИред

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



рддреНрд░рд┐-рдЖрдпрд╛рдореА рдШрди рдХрд╛ рдХреНрд░реЙрд╕-рд╕реЗрдХреНрд╢рди рдПрдХ рджреЛ-рдЖрдпрд╛рдореА рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдирдирд╛ рдордЬреЗрджрд╛рд░ рдерд╛ рдХрд┐ рддреАрди-рдЖрдпрд╛рдореА рдХреНрдпреВрдмреНрд╕ рдХрд┐рд╕реА рднреА рддрд░рд╣ рджреЛ-рдЖрдпрд╛рдореА рд╣реЗрдХреНрд╕рд╛рдЧреЛрдиреНрд╕ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред

рд╕рд╣рд┐рдд рд▓реЗрдЦ рдореЗрдВ, рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рд░рд╛рд╕реНрддрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдерд╛ред рдореБрдЭреЗ рдорд╛рдЙрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдКрдВрдЪрд╛рдИ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рджреЗрдЦрдирд╛ рдерд╛ред

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


рдореБрдЭреЗ рдРрд╕рд╛ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП рдерд╛ред

рд▓реЗрдХрд┐рди рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рдорд╛рд░реНрдЧ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдиреНрд╕ рдХреЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдХрд┐рдирд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдерд╛ред

Canvas2D


рд╢рд╛рдпрдж рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдбрд┐рдмрдЧ рдХреЗ рд▓рд┐рдП Canvas2D рдЦреАрдВрдЪрд╛ - рдЪрд░рдг # 1ред



рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, WebGL, Three.js, shaders рдереЗ, рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл Canvas2D рд╣реИ! рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рд╣реЗрдХреНрд╕ рдЧреНрд░рд┐рдб рдХреЗ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрдк рдмрд╛рд░реАрдХреА рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпреЗ рд╕рдорд╛рди рд╖рдЯреНрднреБрдЬ рд╣реИрдВред рдлрд┐рд░ рдореИрдВрдиреЗ рдЙрди рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрдХ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЛ рддреАрди рдкрдбрд╝реЛрд╕реА рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдФрд░ рдПрдХ рдЧреНрд░рд╛рдл рдорд┐рд▓рд╛ - рдЪрд░рдг рд╕рдВрдЦреНрдпрд╛ 2. рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдмреНрдпреВрдЯреАрдлреБрд▓ рдЧреНрд░рд╛рдлрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

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

рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред

 graph = createGraph( ); graph.addNode(..); // 1000 nodes graph.addLink(..); // 3000 links graph.pathFinder(Start, Finish); //0.01s 

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

рдпрд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рдлреНрд░реЗрдо рд╕реЗ рдХрдо рдЪрд▓рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдпрд╣ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрд╕рд╛рдзрди рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЗрд╕реЗ рд╣рд░ 16 рдПрдордПрд╕ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рдЬрдм рдкрде рдмрджрд▓рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЪрд░рдг 3 рдореЗрдВ рдЗрд╕ рдорд╛рд░реНрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рдХреИрдирд╡рд╕ 2 рдбреА рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рд╢реБрд░реВ рд╣реБрдЖ: рдмрд┐рдВрджреБ рдП рд╕реЗ рдмрд┐рдВрджреБ рдмреА рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд░рд╛рд╕реНрддрд╛ - рд╕рдм рдХреБрдЫ, рдЬреИрд╕рд╛ рдХрд┐ рдЬреАрд╡рди рдореЗрдВред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рдЧреНрд░рд┐рдб рдХреЗ рд╕рд╛рде рдмрд┐рдВрджреБ рдП рд╕реЗ рдмрд┐рдВрджреБ рдмреА рддрдХ рдмрд╣реБрдд рдХрдо рд░рд╛рд╕реНрддреЗ рд╣реИрдВред

WebGL рдореЗрдВ, рд╕рднреА рдЪрд┐рддреНрд░ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВред рд╡рд╣рд╛рдБ рдЖрдк shader рдореЗрдВ рдмрдирд╛рд╡рдЯ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ png рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИ - рдпрд╣ png рдпрд╛ Canvas2D рд╣реИред Canvas2D рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдорд╛рдкреНрдд рдЪрд┐рддреНрд░, рдмрд┐рдЯрдореИрдк рдХреЗ рд╕рдорд╛рди рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЛ рд╕рд╛рдВрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ред тДЦ 4.

Canvas2D . Canvas2D , тАФ . , . , Canvas2D 3D, , .

, , WebGL тАФ , ┬л, ┬╗, .

, , Canvas2D, , , . Canvas2D , WebGL, .


: , , .

, --. , , ┬л┬╗ .

?


: ┬л ? ?┬╗ , : ┬л, !┬╗. , . .

, WebGL. , . , WebGL. 2 тАФ , .

, , . , .

, . , , , 3D тАФ .

, . , , .
FrontendConf . , Canvas , RxJS JSX React .

30 . , , .

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


All Articles