рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдореИрдВ рдЙрддреНрдХреГрд╖реНрдЯ рдкреБрд╕реНрддрдХ
"WebGL Beginner's Guide" рдХрд╛ рдореБрдлреНрдд рдЕрдиреБрд╡рд╛рдж рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рди рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред
рд╕рд╛рдордЧреНрд░реА:
- рдЕрдзреНрдпрд╛рдп 1: рд╡реЗрдмрдЬреАрдПрд▓ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛
- рдЕрдзреНрдпрд╛рдп 2: рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди
- рдЕрдзреНрдпрд╛рдп 3: рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛
- рдЕрдзреНрдпрд╛рдп 4: рдХреИрдорд░рд╛
- рдЕрдзреНрдпрд╛рдп 5: рдЖрдВрджреЛрд▓рди
- рдЕрдзреНрдпрд╛рдп 6: рд░рдВрдЧ, рдЧрд╣рд░рд╛рдИ рдФрд░ рдЕрд▓реНрдлрд╛ рд╕рдореНрдорд┐рд╢реНрд░рдг
- рдЕрдзреНрдпрд╛рдп 7: рдмрдирд╛рд╡рдЯ
- рдЕрдзреНрдпрд╛рдп 8: рд╡рд┐рдХрд▓реНрдк
- рдЕрдзреНрдпрд╛рдп 9: рдпрд╣ рд╕рдм рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛
- рдЕрдзреНрдпрд╛рдп 10: рдЙрдиреНрдирдд рддрд░реАрдХреЗ
WebGL рдореВрд▓ рд░реВрдк рд╕реЗ OpenGL ES 2.0 (ES рдХрд╛ рдЕрд░реНрде рдПрдВрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдерд╛, рдЬреЛ Apple рдХреЗ iPhone рдФрд░ iPad рдЬреИрд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП OpenGL рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рд▓реЗрдХрд┐рди рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ, рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛ рдЧрдпрд╛, рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИред рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд╡рд┐рдЪрд╛рд░ рдиреЗ рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо, рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдФрд░ рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдЗрдореЗрдЬрд┐рдВрдЧ рдЬреИрд╕реЗ рд╡реЗрдм 3 рдбреА рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдПрдХ рдирдпрд╛ рдмреНрд░рд╣реНрдорд╛рдВрдб рдЦреЛрд▓ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг, рдЗрди рдФрд░ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ 3 рдбреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдФрд░ рдЯреИрдмрд▓реЗрдЯ рдЬреИрд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рд╡реЗрдм рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдЧреИрд▓рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ 3D рдЖрд░реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ, рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп 3D рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдбреЗрдЯрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд╣рд▓рд╛ рдХрджрдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ рдЙрдкрдпреБрдХреНрдд рд╡рд╛рддрд╛рд╡рд░рдгред
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- WebGL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕рдордЭреЗрдВ
- рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдбреНрд░рд╛рдЗрдВрдЧ рдХреНрд╖реЗрддреНрд░ (рдХреИрдирд╡рд╛рд╕) рдмрдирд╛рдПрдВ
- рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА WebGL рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
- WebGL рд╕реНрдЯреЗрдЯ рдорд╢реАрди рдХреЛ рд╕рдордЭреЗрдВ
- рд╡реЗрдмрдЬреАрдПрд▓ рдЪрд░ рдмрджрд▓реЗрдВ рдЬреЛ рдЖрдкрдХреЗ рджреГрд╢реНрдп рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
- рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╡рд╛рд▓реЗ рджреГрд╢реНрдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ
рд╕рд┐рд╕реНрдЯрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ
WebGL рд╡реЗрдм-рдЖрдзрд╛рд░рд┐рдд 3D рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ API рд╣реИред рдЬреИрд╕реЗ, рдЗрд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬрд┐рд╕ рд╕рдордп рдпрд╣ рдкреБрд╕реНрддрдХ рд▓рд┐рдЦреА рдЧрдИ рдереА, рдпрджрд┐ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрдВрдЯрд░рдиреЗрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕реНрд╡рддрдГ WebGL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 4.0 рдпрд╛ рдмрд╛рдж рдореЗрдВ
- Google Chrome 11 рдпрд╛ рдмрд╛рдж рдХрд╛
- рд╕рдлрд╛рд░реА (OSX 10.6 рдпрд╛ рдмрд╛рдж рдореЗрдВ)ред WebGL рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдбреЗрд╡рд▓рдкрд░ рдореЗрдиреВ рдкрд░ рд╡реЗрдмрд▓реЙрдЧ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рдУрдкреЗрд░рд╛ 12 рдпрд╛ рдмрд╛рдж рдХрд╛
рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреА рдПрдХ рдЕрджреНрдпрддрди рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рдЬреЛ WebGL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ, рдирд┐рдореНрди
рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдЖрдкрдХреЛ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рд╣реИред рдпрджрд┐ рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдЬрд╛рдБрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди WebGL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕
рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВред
WebGL рдХреНрдпрд╛ рд╣реИ?
WebGL рдПрдХ 3D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдПрдХ рдорд╛рдирдХ рдФрд░ рдХреБрд╢рд▓ рддрд░реАрдХреЗ рд╕реЗ 3D рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдкреНрд░рддрд┐рдкрд╛рджрди рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдореЙрдбрд▓ рд╕реЗ рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рджреГрд╢реНрдп рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИ, рдРрд╕реЗ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рдЕрдВрддрд░ рд╣рдореЗрдВ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рд╣рдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ 3 рдбреА рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЧрдгрдирд╛рдПрдВ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдореБрдЦреНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИрдВ; рджреВрд╕рд░реА рдУрд░, рд╣рдо рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ 3 рдбреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ (рдЬреАрдкреАрдпреВ) рд╣реЛрддрд╛ рд╣реИред рдПрдХ рддрдХрдиреАрдХреА рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢реЗрд╖ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рд╣реИрдВ рдЬреЛ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди, рджреВрд╕рд░реА рдУрд░, рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЖрдорддреМрд░ рдкрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрддреА рд╣реИред
рджреВрд╕рд░рд╛ рдЕрдВрддрд░ рд╣рдо рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдпрд╛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╣реЛрддреА рд╣реИред рдЬрдм рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐ рдЬрдЯрд┐рд▓ рд╣реИ, рддреЛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрд╣ 3 рдбреА рдПрдирд┐рдореЗрдЯреЗрдб рдлрд┐рд▓реНрдореЛрдВ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ, рдЬрдм рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рдЬрдЯрд┐рд▓ рджреГрд╢реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╣рдо рдЗрд╕ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рдХрд╣реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реНрдерд╛рдиреАрдп рдкреНрд░рддрд┐рдкрд╛рджрди рд╣реИред рд╣рдо рдЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╣реЗрдВрдЧреЗред
WebGL рдХрд╛ рдЧреНрд░рд╛рд╣рдХ-рдХреЗрдВрджреНрд░рд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ; рддрддреНрд╡ рдЬреЛ рдПрдХ 3D рджреГрд╢реНрдп рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХ рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреА рдЬрд╛рддреА рд╣реИред
рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛ 3 рдбреА, рдлреНрд▓реИрд╢ рдФрд░ рдпреВрдирд┐рдЯреА рд╡реЗрдм рдкреНрд▓реЗрдпрд░ рдкреНрд▓рдЧрдЗрди) WebGL рдХреЗ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ:
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ: рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдореВрд▓" рднрд╛рд╖рд╛ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдЖрдк рд╕рднреА DOM рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдкреНрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╕рдВрднрд╛рд▓рдирд╛ рднреА рдЖрд╕рд╛рди рд╣реИред рдЪреВрдВрдХрд┐ WebGL рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреНрд░рдорд╛рджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдиреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдЬреИрд╕реЗ jQuery рдФрд░ рдЕрдиреНрдп HTML5 рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде WebGL рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдПрдХреАрдХрд░рдг рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдореЗрдореЛрд░реА рдкреНрд░рдмрдВрдзрди: рдЕрдкрдиреЗ рд╕рд╛рдереА рдУрдкрдирдЬреАрдПрд▓ рдФрд░ рдЕрдиреНрдп рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╣рд╛рдВ рдореЗрдореЛрд░реА рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдФрд░ рдореБрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдЪрд╛рд▓рди рд╣реИрдВ, рд╡реЗрдмрдЧреЗрд▓ рдХреЛ рдРрд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ рдХрд┐ рдЬрдм рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд░ рдЕрдкрдиреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдореБрдХреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИред
- рдкрд╛рд░рдЧрдореНрдпрддрд╛: рдЖрдзреБрдирд┐рдХ рддрдХрдиреАрдХреА рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдФрд░ рдЯреИрдмрд▓реЗрдЯ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рд╕рдХреНрд╖рдо рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╛рдЙрдВрдбреЗрд╢рди рдореЛрдЯреЛрд░реЛрд▓рд╛ рдФрд░ рд╕реИрдорд╕рдВрдЧ рдлреЛрди рдкрд░ WebGL рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╡реЗрдмрд▓реЙрдЧ рд╕рдорд░реНрдерди рд╡рд┐рдХрд╛рд╕ рд╕рдорд╛рди рд╣реИрдВред
- рдкреНрд░рджрд░реНрд╢рди: рд╡реЗрдмрдЬреАрдПрд▓ рдЖрд╡реЗрджрди рдкреНрд░рджрд░реНрд╢рди рд╕рдордХрдХреНрд╖ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдХреБрдЫ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдпрд╣ WebGL рдХреЗ рд╕реНрдерд╛рдиреАрдп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдХреНрд╕реЗрд▓реЗрд░реЗрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдЕрдм рддрдХ, 3 рдбреА рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡реЗрдм рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред
- рд╢реВрдиреНрдп рд╕рдВрдХрд▓рди: рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ WebGL рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрдХрд▓рди рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд╕реЗ рдЖрдк рдордХреНрдЦреА рдкрд░ рдмрджрд▓рд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЖрдкрдХреЗ 3D рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬрдм рд╣рдо рд╢реЗрдбрд░реНрд╕ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рд╕рдВрдХрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╣рдорд╛рд░реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╣реЛрддрд╛ рд╣реИред
WebGL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрд░рдЪрдирд╛
рдХрд┐рд╕реА рднреА 3D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рддрд░рд╣, WebGL рдХреЛ 3D рджреГрд╢реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдШрдЯрдХреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрди рдореВрд▓ рддрддреНрд╡реЛрдВ рдкрд░ рдкреБрд╕реНрддрдХ рдХреЗ рдкрд╣рд▓реЗ рдЪрд╛рд░ рдЕрдзреНрдпрд╛рдпреЛрдВ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдЕрдзреНрдпрд╛рдп 5 рд╕реЗ рд╢реБрд░реВ, рд╣рдо рдЙрди рддрддреНрд╡реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ 3 рдбреА рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд░рдВрдЧ рдФрд░ рдмрдирд╛рд╡рдЯ, рдФрд░ рдлрд┐рд░, рдмрд╛рдж рдореЗрдВ, рд╣рдо рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдпреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗред
рд╣рдо рдЬрд┐рди рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- рдХреИрдирд╡рд╛рд╕: рдпрд╣ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╣реИ рдЬрд╣рд╛рдВ рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдПрдХ рдорд╛рдирдХ рдПрдЪрдЯреАрдПрдордПрд▓ 5 рддрддреНрд╡ рд╣реИ рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ (рдбреЛрдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдСрдмреНрдЬреЗрдХреНрдЯ: рдпреЗ 3D рдЗрдХрд╛рдЗрдпрд╛рдБ рд╣реИрдВ рдЬреЛ рджреГрд╢реНрдп рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирддреА рд╣реИрдВред рдпреЗ рд╕рдВрд╕реНрдерд╛рдПрдБ рддреНрд░рд┐рднреБрдЬреЛрдВ рд╕реЗ рдмрдиреА рд╣реИрдВред рджреВрд╕рд░реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ WebGL рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рд╣рдо рдкреЙрд▓реАрдЧреЙрди рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП WebGL рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ WebGL рдмрдлрд╝рд░реНрд╕ рдХреЛ рд╕реНрдЯреЗрдЬ рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- рдкреНрд░рдХрд╛рд╢: 3 рдбреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдХреЛрдИ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдирд╣реАрдВ рд╣реИрдВред рдХрд┐рд╕реА рднреА WebGL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЗрд╕ рддрддреНрд╡ рдкрд░ рдЕрдзреНрдпрд╛рдп 3 рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рд╣рдо рд╕реАрдЦрддреЗ рд╣реИрдВ рдХрд┐ WebGL рд╕реНрдЯреЗрдЬ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЗрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рдо рдпрд╣ рднреА рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ 3 рдбреА рдСрдмреНрдЬреЗрдХреНрдЯ рднреМрддрд┐рдХреА рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдФрд░ рдЕрд╡рд╢реЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рдХрд╛рд╢ рдХреЗ рдЕрдиреНрдп рдореЙрдбрд▓реЛрдВ рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдЕрдкрдиреА рд╡рд╕реНрддреБрдУрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдЬреАрдПрд▓ рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
- рдХреИрдорд░рд╛: рдПрдХ 3D рджреБрдирд┐рдпрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреИрдирд╡рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдк 3D рджреГрд╢реНрдп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдзреНрдпрд╛рдп 4 рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдСрдкрд░реЗрд╢рди рдЬреЛ рдПрдХ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рджреГрд╢реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдпрд╣ рднреА рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдпреЗ рдСрдкрд░реЗрд╢рди рдХреИрдорд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣ рдЕрдзреНрдпрд╛рдп рд╣рдорд╛рд░реА рд╕реВрдЪреА рдХреЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ - рдХреИрдирд╡рд╛рд╕ред рдЕрдЧрд▓реЗ рдЦрдВрдбреЛрдВ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рдХреИрдирд╡рд╛рд╕ (рдХреИрдирд╡рд╛рд╕) рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдФрд░ рд╡реЗрдмрдЬреАрдПрд▓ рд╕рдВрджрд░реНрдн рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдХреИрдирд╡рд╛рд╕ рдирд┐рд░реНрдорд╛рдг
рдЖрдЗрдП рдПрдХ рд╡реЗрдмрдкреЗрдЬ рдмрдирд╛рдПрдВ рдФрд░ HTML5 рдХреИрдирд╡рд╛рд╕ рдЬреЛрдбрд╝реЗрдВред рдХреИрдирд╡рд╛рд╕ рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдкрд░ рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рддрддреНрд╡ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ 3 рдбреА рджреГрд╢реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдмрдирд╛рдПрдВ:
<!DOCTYPE html> <html> <head> <title> WebGL Beginner's Guide - Setting up the canvas </title> <style type="text/css"> canvas {border: 2px dotted blue;} </style> </head> <body> <canvas id="canvas-element-id" width="800" height="600"> Your browser does not support HTML5 </canvas> </body> </html>
- рдлрд╝рд╛рдЗрд▓ рдХреЛ
ch1_Canvas.html
рд░реВрдк рдореЗрдВ ch1_Canvas.html
ред - рдПрдХ рд╕рдорд░реНрдерд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓реЗрдВред
- рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:

рдмрд╕ рдХреНрдпрд╛ рд╣реБрдЖ?рд╣рдордиреЗ рдЕрднреА рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рдкреЗрдЬ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИред рдЗрд╕ рдХреИрдирд╡рд╛рд╕ рдореЗрдВ рд╣рдорд╛рд░реЗ 3D рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред рдЖрдЗрдП рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡реЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛рдпрд╣ рдПрдХ рдРрд╕рд╛ рдХреЛрдб рд╣реИ рдЬреЛ рдХреИрдирд╡рд╛рд╕ рдХреА рд╢реИрд▓реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:
<style type="text/css"> canvas {border: 2px dotted blue;} </style>
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХреЛрдб рд╡реЗрдмрдЬреАрдПрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрд▓рд┐рдХ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдиреАрд▓реЗ рдзрд░рд╛рд╢рд╛рдпреА рд▓рд╛рдЗрди рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдХреИрдирд╡рд╛рд╕ рдХрд╣рд╛рдВ рд╣реИ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреИрдирд╡рд╛рд╕ рд╢реБрд░реВ рдореЗрдВ рдЦрд╛рд▓реА рд╣реЛрдЧрд╛ред
рдХреИрдирд╡рд╛рд╕ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рд╕рдордЭрдирд╛рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 3 рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реИрдВ:
- Id: рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ (DOM) рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИ
- рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдБрдЪрд╛рдИ: рдпреЗ рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣рдорд╛рд░реЗ рдХреИрдирд╡рд╛рд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВред рдЬрдм рдпреЗ рджреЛрдиреЛрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдЧрд╛рдпрдм рд╣реИрдВ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдХреНрд░реЛрдо, рдФрд░ WebKit рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 300x150 рдХреИрдирд╡рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдпрджрд┐ рдХреИрдирд╡рд╛рд╕ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?рдпрджрд┐ рдЖрдкрдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:
Your browser does not support HTML5
(рдЬреЛ рдХрд┐ рдЯреИрдЧреНрд╕ рдХреЗ рдмреАрдЪ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛) рдХрд╛
Your browser does not support HTML5
, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ WebGL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рднреА HTML5 рд╕рдорд░реНрдерд┐рдд рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ WebGL рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрддрд╛ рдмрд╛рд░ рдореЗрдВ
about:config
рдФрд░ рдлрд┐рд░
webgl.disabled
рд╕рдВрдкрддреНрддрд┐ рджреЗрдЦреЗрдВред рдЕрдЧрд░
true
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░
true
рддреЛ рдЬрд╛рдУ рдФрд░ рдмрджрд▓реЛред рдЬрдм рдЖрдк рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рддреЗ рд╣реИрдВ рдФрд░ ch1_Canvas.html рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдзрд░рд╛рд╢рд╛рдпреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рдд рд╕рдм рдХреБрдЫ рдХреНрд░рдо рдореЗрдВ рд╣реИред
рдпрджрд┐ рдЖрдк рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдХреИрдирд╡рд╛рд╕ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдиреЗ рдХреБрдЫ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдмреНрд▓реИрдХрд▓рд┐рд╕реНрдЯ рдХрд┐рдпрд╛ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рджреВрд╕рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдирд╣реАрдВ рдмрдЪрд╛ рд╣реИред
WebGL рд╕рдВрджрд░реНрдн
WebGL рд╕рдВрджрд░реНрдн рдПрдХ рд╣реИрдВрдбрд▓ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ, рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ) рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдо WebGL рдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ WebGL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (API) рдмрдирд╛рддреЗ рд╣реИрдВред
рд╣рдо рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡реЗрдмрд▓реЙрдЧ рд╕рдВрджрд░реНрдн рдХреЛ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдиреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реЗрдмрдЬреАрдПрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрджрд┐ рдЖрдк рд╕рдорд░реНрдерд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд╣рдо рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝рдХрд░ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ WebGL рд╕рдорд░реНрдерди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ (рд╣реИрдВрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ)ред рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдорд╛рдирдХ onLoad DOM рдЗрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
- рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдореЗрдВ
ch1_Canvas.html
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЖрдк HTML / рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ)ред - рдЯреИрдЧ рдХреЗ рдареАрдХ рдиреАрдЪреЗ рдирд┐рдореНрди рдХреЛрдб рдЬреЛрдбрд╝реЗрдВ
рд╣рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ
onLoad
рдЗрд╡реЗрдВрдЯ рдкрд░ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
body
рдЯреИрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рдореНрди рдореЗрдВ рдмрджрд▓реЗрдВ:
<body onLoad ="getGLContext()">
ch1_GL_Context.html
рдлрд╝рд╛рдЗрд▓ рд╕рд╣реЗрдЬреЗрдВред
ch1_GL_Context.html
рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
ch1_GL_Context.html
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред
рдпрджрд┐ рдЖрдк WebGL рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдЬреИрд╕рд╛ рдХреБрдЫ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
рдмрд╕ рдХреНрдпрд╛ рд╣реБрдЖ?рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд░ (gl) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдореЗрдВ WebGL рд╕рдВрджрд░реНрдн рдХрд╛ рд▓рд┐рдВрдХ рдорд┐рд▓рд╛ред рдЖрдЗрдП рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдЙрд╕ рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ рдЬреЛ рдЖрдкрдХреЛ WebGL рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
var names = ["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"]; for (var i = 0; i < names.length; ++i) { try { gl = canvas.getContext(names[i]); } catch(e) {} if (gl) break; }
getContext
рдХреИрдирд╡рд╛рд╕
getContext
рд╣рдореЗрдВ WebGL рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрджрд░реНрдн рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрджрд░реНрдн рдирд╛рдореЛрдВ рдХреЛ рдПрдХ рдирд╛рдо рд╕рд░рдгреА рдореЗрдВ рд╕рдореВрд╣реАрдХреГрдд рдХрд┐рдпрд╛ред рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдЬреАрдПрд▓ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ (рдЖрдк рдЗрд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ) рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред
getContext
рд╕рдВрджрд░реНрдн рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░, 2D рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ HTML5 2D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред WebGL рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдорд╛рдирдХ рд╣реИред HTML5 2D рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ API рдкреВрд░реА рддрд░рд╣ рд╕реЗ WebGL рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ рдФрд░ рдЗрд╕ рдкреБрд╕реНрддрдХ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред
WebGL рд╕реНрдЯреЗрдЯ рдорд╢реАрди
WebGL рд╕рдВрджрд░реНрдн рдХреЛ рдПрдХ рд░рд╛рдЬреНрдп рдорд╢реАрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдЬреИрд╕реЗ рд╣реА рдЖрдк рдЗрд╕рдХреА рдХрд┐рд╕реА рднреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ, рд╕рдВрд╢реЛрдзрди рддрдм рддрдХ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдЧрд╛ рдЬрдм рддрдХ рдЖрдк рдлрд┐рд░ рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддреЗред рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдордп рдЗрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдкрдиреЗ WebGL рд╕рдВрджрд░реНрдн рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдпрд╣ рдЬрд╛рдирдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреИрдирд╡рд╛рд╕ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдХрд┐рд╕ рд░рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ,
ch1_GL_Attributes.html
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ:
<html> <head> <title> WebGL Beginner's Guide - Setting WebGL context attributes </title> <style type="text/css"> canvas {border: 2px dotted blue;} </style> <script> var gl = null; var c_width = 0; var c_height = 0; window.onkeydown = checkKey; function checkKey(ev) { switch(ev.keyCode) { case 49: { </script> </head> <body onLoad="initWebGL()"> <canvas id="canvas-element-id" width="800" height="600"> Your browser does not support the HTML5 canvas element. </canvas> </body> </html>
- рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╣рдорд╛рд░реЗ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдорд╛рди рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдирдП рдбрд┐рдЬрд╛рдЗрди рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рдордЭрд╛рдПрдВрдЧреЗред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 4 рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ:
checkKey
: рдпрд╣ рдПрдХ рд╕рд╣рд╛рдпрдХ рдХрд╛рд░реНрдп рд╣реИред рдпрд╣ рдХреАрдмреЛрд░реНрдб рдЗрдирдкреБрдЯ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИредgetGLContext
: рд╣рдо рдкрд╣рд▓реЗ рд╣реА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВclear
: рдХреИрдирд╡рд╛рд╕ рдХреЛ рд╡рд░реНрддрдорд╛рди рд░рдВрдЧ рд╕реЗ рд╕рд╛рдлрд╝ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ WebGL рд╕рдВрджрд░реНрдн рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, WebGL рдПрдХ рд╕реНрдЯреЗрдЯ рдорд╢реАрди рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреИрдирд╡рд╛рд╕ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдпрдирд┐рдд рд░рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдЧрд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ gl.clearColor
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░рдВрдЧ рдмрджрд▓ рджрд┐рдпрд╛ gl.clearColor
редinitWebGL
: рдпрд╣ рдлрд╝рдВрдХреНрд╢рди getGLContext
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ getGLContext
рдЗрд╡реЗрдВрдЯ рдкрд░ рдХреЙрд▓ рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди getGLContext
рдмреЗрд╣рддрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ ctx
рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрджрд░реНрдн рддрдм рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ gl
рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИред
- рдПрдХ рд╕рдорд░реНрдерд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
test_gl_attributes.html
рдЦреЛрд▓реЗрдВред - рдкреНрд░реЗрд╕ 1. рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рдХреИрдирд╡рд╛рд╕ рдЕрдкрдиреЗ рд░рдВрдЧ рдХреЛ рд╣рд░реЗ рд░рдВрдЧ рдореЗрдВ рдмрджрд▓рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд░рдВрдЧ рдХреЛ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ 3 рджрдмрд╛рдПрдВред
- рдЬрдм рддрдХ рд╣рдо
gl.clearColor
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рд╕рдлрд╛рдИ рдХрд╛ рд░рдВрдЧ рдмрджрд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд▓реЗрддреЗ, рддрдм рддрдХ рдХреИрдирд╡рд╛рд╕ рд╣рд░реЗ рд░рдВрдЧ рдХрд╛ gl.clearColor
рд╣реИред 2. рдЗрд╕реЗ рджрдмрд╛рдХрд░ рдмрджрд▓реЗрдВред рдпрджрд┐ рдЖрдк рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд░рдВрдЧ рдиреАрд▓реЗ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рд░рдВрдЧ рдХрд╛ рд╣реИ, рддреЛ 3 рджрдмрд╛рдПрдВред
рдмрд╕ рдХреНрдпрд╛ рд╣реБрдЖ?рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЙрд╕ рд░рдВрдЧ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ WebGL рдХреИрдирд╡рд╛рд╕ рдХреЛ
clearColor
рдлрд╝рдВрдХреНрд╢рди рдХрд╣рдХрд░
clearColor
рдХрд░рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рд╣рдордиреЗ рдХреИрдирд╡рд╛рд╕ рдлрд┐рд▓ рдХреЗ рд╡рд░реНрддрдорд╛рди рд░рдВрдЧ рдорд╛рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
getParameter (gl.COLOR_CLEAR_VALUE)
рдлрд╝рдВрдХреНрд╢рди
getParameter (gl.COLOR_CLEAR_VALUE)
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рд╕рдВрдкреВрд░реНрдг рдкреБрд╕реНрддрдХ рдореЗрдВ, рд╣рдо рд╕рдорд╛рди рдирд┐рд░реНрдорд╛рдг рджреЗрдЦреЗрдВрдЧреЗ рдЬрдм рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рдВрдХреНрд╢рди рд╕рдВрджрд░реНрдн рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░
getParameter
WebGL рдлрд╝рдВрдХреНрд╢рди рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рддрд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ (рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣
COLOR_CLEAR_VALUE
)ред
рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WebGL API рддрдХ рдкрд╣реБрдБрдЪреЗрдВрдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рднреА WebGL рд╕реБрд╡рд┐рдзрд╛рдПрдБ WebGL рд╕рдВрджрд░реНрдн рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рд╕рдВрджрд░реНрдн рдЪрд░
gl
ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WebGL API рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
3 рдбреА рджреГрд╢реНрдп рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ
рдЕрдм рддрдХ, рд╣рдордиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗрдмрдЬреАрдПрд▓ рд╕рдВрджрд░реНрдн рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ; рдЕрдЧрд▓рд╛ рдХрджрдо рд╡рд╕реНрддреБрдУрдВ, рдкреНрд░рдХрд╛рд╢ рдФрд░ рдХреИрдорд░реЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрдВ рд╡реЗрдмрдЬреАрдПрд▓ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡реЗрдмрдЬреАрдПрд▓ рджреГрд╢реНрдп рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред
рд╡рд░реНрдЪреБрдЕрд▓ рдХрд╛рд░ рдбреАрд▓рд░рд╢рд┐рдк
рдкреБрд╕реНрддрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо WebGL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрднрд╛рд╕реА рдХрд╛рд░ рдбреАрд▓рд░рд╢рд┐рдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВрдЧреЗред рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рджреГрд╢реНрдп рдХреЛ рдХреИрдирд╡рд╛рд╕ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рджреГрд╢реНрдп рдореЗрдВ рдПрдХ рдХрд╛рд░, рдХрдИ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдФрд░ рдПрдХ рдХреИрдорд░рд╛ рд╣реЛрдЧрд╛ред
рдкреБрд╕реНрддрдХ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЙрд╕ рджреГрд╢реНрдп рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдЬреИрд╕реЗ рд╣рдо рдмрдирд╛рдПрдВрдЧреЗред
- рдХрд┐рд╕реА рднреА рд╕рдорд░реНрдерд┐рдд рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ
ch1_Car.html
рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ - рдЖрдкрдХреЛ рдПрдХ рд╡реЗрдмрд▓реЙрдЧ рджреГрд╢реНрдп рдПрдХ рдХрд╛рд░ рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

- рд╕реНрд▓рд╛рдЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЗрд╕ рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪрд╛рд░ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд рдореЗрдВ рддреАрди рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ: рдкрд░реНрдпрд╛рд╡рд░рдг, рдлреИрд▓рд╛рдирд╛ рдФрд░ рджрд░реНрдкрдг рддрддреНрд╡ред рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╣рдо рдЕрдзреНрдпрд╛рдп 3 рдореЗрдВ рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред
- рдХрд╛рд░ рдХреЛ рдШреБрдорд╛рдиреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкрдХреНрд╖реЛрдВ рд╕реЗ рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдирд╡рд╛рд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЦреАрдВрдЪреЗрдВред рдЖрдк рдХреИрдирд╡рд╛рд╕ рдкрд░ рдорд╛рдЙрд╕ рдХреЛ рдЦреАрдВрдЪрддреЗ рд╕рдордп Alt рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рдЗрд╕реЗ рдмрдбрд╝рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдХрд╛рд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХреИрдорд░рд╛ рдШреБрдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рддреАрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдХреИрдирд╡рд╛рд╕ рдлреЛрдХрд╕ рдореЗрдВ рд╣реИред рдЕрдзреНрдпрд╛рдп 4 рдореЗрдВ рд╣рдо рд╡реЗрдмрдЧреЗрд▓ рдореЗрдВ рдПрдХ рдХреИрдорд░реЗ рдХреЗ рд╕рд╛рде рдмрдирд╛рдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рджреЗрдЦреЗрдВрдЧреЗред
- рддреАрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдкрд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрдзреНрдпрд╛рдп 5 рдореЗрдВ рдПрдиреАрдореЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
- рдХрд╛рд░ рдХреЗ рд░рдВрдЧ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЧрдП рд░рдВрдЧ рдкрд┐рдХрд░ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд░рдВрдЧреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЕрдзреНрдпрд╛рдп 6 рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдЕрдзреНрдпрд╛рдп 7-10 рдореЗрдВ рдмрдирд╛рд╡рдЯ рдХреЗ рдЙрдкрдпреЛрдЧ, рдордВрдЪ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЪрдпрди, рдХреНрд░рдорд╢рдГ рдЖрднрд╛рд╕реА рдХрд╛рд░ рдбреАрд▓рд░рд╢рд┐рдк рдФрд░ рдЙрдиреНрдирдд рд╡реЗрдмрдЬреАрдПрд▓ рддрд░реАрдХреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдмрд╕ рдХреНрдпрд╛ рд╣реБрдЖ?рд╣рдордиреЗ рд╡реЗрдмрдЬреАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рджреГрд╢реНрдп рдЗрдВрдЯрд░рдиреЗрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИред
рдЗрд╕ рджреГрд╢реНрдп рдореЗрдВ рдирд┐рдореНрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рд╡рд╣ рдХреИрдирд╡рд╛рд╕ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рджреГрд╢реНрдп рджреЗрдЦрддреЗ рд╣реИрдВ
- рдХрдИ рдмрд╣реБрднреБрдЬ (рд╡рд╕реНрддреБрдПрдВ), рдЬреЛ рдХрд╛рд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВ: рдЫрдд, рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ, рд╣реЗрдбрд▓рд╛рдЗрдЯреНрд╕, рдкрдВрдЦ, рджрд░рд╡рд╛рдЬреЗ, рдкрд╣рд┐рдП, рд╕реНрдкреЙрдЗрд▓рд░, рдмрдореНрдкрд░ рдФрд░ рдЗрддрдиреЗ рдкрд░ред
- рдкреНрд░рдХрд╛рд╢ рд╕реНрд░реЛрдд, рдЕрдиреНрдпрдерд╛ рд╕рдм рдХреБрдЫ рдХрд╛рд▓рд╛ рд╣реЛрдЧрд╛
- рдПрдХ рдХреИрдорд░рд╛ рдЬреЛ 3 рдбреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХреИрдорд░рд╛ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреА рд╕реНрдерд┐рддрд┐ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рдХрд╛рд░ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХреИрдорд░рд╛ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдПрдБ рдФрд░ рджрд╛рдПрдБ рддреАрд░ рдХреБрдВрдЬреА рдФрд░ рдорд╛рдЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдРрд╕реЗ рдЕрдиреНрдп рддрддреНрд╡ рд╣реИрдВ рдЬреЛ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдмрдирд╛рд╡рдЯ, рд░рдВрдЧ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд╢ рдкреНрд░рднрд╛рд╡ (рдорд┐рд░рд░рд┐рдВрдЧ)ред рдШрдмрд░рд╛рдУ рдордд! рдмрд╛рдж рдореЗрдВ, рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рд╛рд░рд╛рдВрд╢
рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдордиреЗ рдЪрд╛рд░ рдореВрд▓ рддрддреНрд╡реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬреЛ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рднреА WebGL рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВ: рдХреИрдирд╡рд╛рд╕, рдСрдмреНрдЬреЗрдХреНрдЯ, рд▓рд╛рдЗрдЯ рдФрд░ рдХреИрдорд░рд╛ред
рд╣рдордиреЗ рдПрдХ HTML5 рд╡реЗрдмрдкреЗрдЬ рдореЗрдВ рдХреИрдирд╡рд╛рд╕ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрд╛, рдЗрд╕рдХреА рдЖрдИрдбреА, рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдЙрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрд╛ рдЬрд┐рд╕рдиреЗ рд╡реЗрдмрдЬреАрдПрд▓ рд╕рдВрджрд░реНрдн рдмрдирд╛рдпрд╛ред рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ WebGL рдПрдХ рд╕реНрдЯреЗрдЯ рдорд╢реАрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ, рд╣рдо getParameter рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЧрд▓реЗ рдЕрдзреНрдпрд╛рдп рдореЗрдВ, рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡реЗрдмрд▓реЙрдЧ рджреГрд╢реНрдп рдореЗрдВ 3D рдореЙрдбрд▓ рдХреЛ рдХреИрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, рд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рд░реЗрдВрдбрд░ рдХрд░реЗрдВред
рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди
рд▓рд┐рдВрдХ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
редрдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рдж!