рдУрдкрди
рдУрдкрдирдЬреАрдПрд▓ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдХрд╣рдХрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдУрдкрдирдЬреАрдПрд▓ рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИ ред рдпрд╛рдиреА рдУрдкрдирдЬреАрдПрд▓ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
OpenGL рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдПрдкреАрдЖрдИ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред OpenGL рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп API рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рд░реИрдЦрд┐рдХ рдмреАрдЬрдЧрдгрд┐рдд рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдЬрд╛рдиреЗрдВред
рдирд╛рдордХрд░рдг
рдЖрдЗрдП OpenGL рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдордХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рдХрд╣рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, OpenGL рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдо рдЙрдкрд╕рд░реНрдЧ gl рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдордиреНрд╡рдп рдпрд╛ рд░рдВрдЧ) рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рд▓реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдкреНрд░рддреНрдпрдп рд╣реЛрддрд╛ рд╣реИ [рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ + рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ + рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡]ред
- рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ - рдкреНрд░рд╛рдкреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдирд┐рдореНрди рдорд╛рди рд▓реЗрддрд╛ рд╣реИ: 1 , 2 , 3 , 4
- рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рдХрд╛рд░ - рдкреНрд░рд╛рдкреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рд╕рдВрднрд╡ рд╣реИрдВ: b , s , i , f , d , ub , us , ui ред рдпрд╛рдиреА рдмрд╛рдЗрдЯ (рдЪрд╛рд░ рд╕реА рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ, 8-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ), рд▓рдШреБ (16-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ), рдЗрдВрдЯ (32-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ), рдлреНрд▓реЛрдЯ (рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ), рдбрдмрд▓ (рдбрдмрд▓-рд╕рдЯреАрдХ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ), рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдмрд╛рдЗрдЯ, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд▓рдШреБ, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд int (рдЕрдВрддрд┐рдо рддреАрди рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ)
- рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ - рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд┐рд╕ рд░реВрдк рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдпрджрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдЕрд▓рдЧ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд╛рдо рдореЗрдВ рдЕрдХреНрд╖рд░ v рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг: glVertex3iv рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рддреАрди рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░, рд╢реАрд░реНрд╖ рд╕рдордиреНрд╡рдп рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЧреНрд░рд╛рдлрд┐рдХреНрд╕
рдУрдкрдирдЬреАрдПрд▓ рдореЗрдВ рд╕рднреА рдЪрд┐рддреНрд░рдордп рд╡рд╕реНрддреБрдПрдБ рдмрд┐рдВрджреБрдУрдВ, рд░реЗрдЦрд╛рдУрдВ рдФрд░ рдмрд╣реБрднреБрдЬреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИрдВред 10 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрджрд┐рдо рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рджреЛ рдЖрдпрд╛рдореА рдФрд░ рддреАрди рдЖрдпрд╛рдореАред рд╕рднреА рдЖрджрд┐рдо, рдмрджрд▓реЗ рдореЗрдВ, рдмрд┐рдВрджреБрдУрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ - рдХреЛрдиреЗред
- GL_POINTS - рдкреНрд░рддреНрдпреЗрдХ рд╢реАрд░реНрд╖ рдПрдХ рдмрд┐рдВрджреБ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
- GL_LINES - рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬреЛрдбрд╝реА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ
- GL_LINE_STRIP - рд╡рд░реНрдЯрд┐рдХрд▓ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реА рдПрдХ рд░реЗрдЦрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ (рдпрд╛рдиреА рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рдХрд╛ рдЕрдВрдд рдЕрдЧрд▓реА рд╢реБрд░реБрдЖрдд рд╣реИ)
- GL_LINE_LOOP - рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд╕рдорд╛рди, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЕрдВрддрд┐рдо рд╢реАрд░реНрд╖ рдкрд╣рд▓реЗ рд╕реЗ рдЬреБрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдмрдВрдж рдЖрдВрдХрдбрд╝рд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ
- GL_TRIANGLES - рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рддреНрд░рд┐рднреБрдЬ рддреНрд░рд┐рднреБрдЬ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
- GL_TRIANGLE_STRIP - рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓рд╛ рд╢реАрд░реНрд╖ рджреЛ рдкрд┐рдЫрд▓реЗ рд╡рд╛рд▓реЗ (рддреНрд░рд┐рдХреЛрдг рдХрд╛ рдПрдХ рд░рд┐рдмрди рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдПрдХ рддреНрд░рд┐рдХреЛрдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
- GL_TRIANGLE_FAN - рдкреНрд░рддреНрдпреЗрдХ рддреНрд░рд┐рдХреЛрдг рдХреЛ рдкрд╣рд▓реЗ рд╢реАрд░реНрд╖ рдФрд░ рдмрд╛рдж рдХреЗ рдпреБрдЧреНрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╛рдиреА рддреНрд░рд┐рдХреЛрдг рдкрд╣рд▓реЗ рд╢реАрд░реНрд╖ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдбрд╛рдпрд╛рдлреНрд░рд╛рдо рдЬреИрд╕рд╛ рдХреБрдЫ рдмрдирд╛рддреЗ рд╣реИрдВ)
- GL_QUADS - рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд░ рдХреЛрдиреЗ рдПрдХ рдЪрддреБрд░реНрднреБрдЬ рдмрдирд╛рддреЗ рд╣реИрдВ
- GL_QUAD_STRIP - рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓реА рдЬреЛрдбрд╝реА рдХрд╛ рдЬреЛрдбрд╝ рдкреВрд░реНрд╡ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рд╕рд╛рде рдПрдХ рдЪрддреБрд░реНрднреБрдЬ рдмрдирд╛рддрд╛ рд╣реИ
- GL_POLYGON - рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдмрд╣реБрднреБрдЬреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░ рдХреЛрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрднреБрдЬ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
GlBegin (primitive_type) ... glEnd () рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрджрд┐рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдп glVertex * рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╡рд╛рдорд╛рд╡рд░реНрдд рд╕реЗрдЯ рд╣реИрдВред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЦрд┐рдбрд╝рдХреА рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╢реАрд░реНрд╖ рдХрд╛ рд░рдВрдЧ glColor * рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░рдВрдЧ рдХреЛ RGB рдпрд╛ RGBA рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред GlColor * рдХрдорд╛рдВрдб рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп glColor * рдХрдорд╛рдВрдб рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рддрдХ рдЖрддреЗ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп GlColor * рдХрдорд╛рдВрдб рдирд╣реАрдВ рд╣реИрдВред
рдпрд╣рд╛рдБ рдмрд╣реБ-рд░рдВрдЧ рд╡рд╛рд▓реЗ рдХреЛрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдб рд╣реИ:
- glBegin ( GL_QUADS ) ;
- glColor3f ( 1.0 , 1.0 , 1.0 ) ;
- glVertex2i ( 250 , 450 ) ;
- glColor3f ( 0.0 , 0.0 , 1.0 ) ;
- glVertex2i ( 250 , 150 ) ;
- glColor3f ( 0.0 , 1.0 , 0.0 ) ;
- glVertex2i ( 550 , 150 ) ;
- glColor3f ( 1.0 , 0.0 , 0.0 ) ;
- glVertex2i ( 550 , 450 ) ;
- glEnd ( ) ;
рдУрдкрдирдЬреАрдПрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореВрд▓ рдмрд╛рддреЗрдВ
рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╕реНрд╡рддрдВрддреНрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдк GLUT рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред GLUT, OpenGL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ GLUT рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП glutInit (& argc, argv) рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВред рдкреНрд░рджрд░реНрд╢рди рдореЛрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, glutInitDisplayMode (рдореЛрдб) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:
- GLUT_RGBA - рдПрдХ рдЪрд╛рд░-рдШрдЯрдХ рд░рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)
- GLUT_RGB - GLUT_RGBA рдХреЗ рд╕рдорд╛рди
- GLUT_INDEX - рдЕрдиреБрдХреНрд░рдорд┐рдд рд░рдВрдЧ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
- GLUT_DOUBLE - рдПрдХ рдбрдмрд▓ рд╕реНрдХреНрд░реАрди рдмрдлрд░ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
- GLUT_SINGLE - рдПрдХрд▓ рд╕реНрдХреНрд░реАрди рдмрдлрд╝рд░ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
- GLUT_DEPTH - Z- рдмрдлрд░ (рдЧрд╣рд░рд╛рдИ рдмрдлрд░) рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
- GLUT_STENCIL - рд╕реНрдХреНрд░реАрди рдмрдлрд░ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
- GLUT_ACCUM - рд╕рдВрдЪрдп рдмрдлрд░ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
- GLUT_ALPHA - рдЕрд▓реНрдлрд╛ рд╕рдореНрдорд┐рд╢реНрд░рдг (рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛) рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
- GLUT_MULTISAMPLE - рдорд▓реНрдЯреАрд╕реНрдореИрдкрд▓рд┐рдВрдЧ ( рд╕реНрдореВрдерд┐рдВрдЧ ) рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
- GLUT_STEREO - рд╕реНрдЯреАрд░рд┐рдпреЛ рдЫрд╡рд┐ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ
рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдореЛрдб рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд┐рдЯрд╡рд╛рдЗрд╕ рдпрд╛ '|' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH) рдореЗрдВ рдбрдмрд▓ рдмрдлрд░рд┐рдВрдЧ, Z рдмрдлрд░ рдФрд░ рдЪрд╛рд░-рдШрдЯрдХ рд░рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЦрд┐рдбрд╝рдХреА рдХреЗ рдЖрдХрд╛рд░ glutInitWindowSize (рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ glutInitWindowPosition (x, y) рд╣реИ ред рдПрдХ рд╡рд┐рдВрдбреЛ glutCreateWindow рдлрд╝рдВрдХреНрд╢рди (window_head) рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИред
рдЧреНрд▓реВрдЯ рдПрдХ рдШрдЯрдирд╛ рд╕рдВрдЪрд╛рд▓рд┐рдд рддрдВрддреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдПрдХ рдореБрдЦреНрдп рд▓реВрдк рд╣реИ рдЬреЛ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдШреЛрд╖рд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреАрдмреЛрд░реНрдб рдкрд░ рдХреА рдХреЛ рджрдмрд╛рдиреЗ рдпрд╛ рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдХреЛ рд╣рд┐рд▓рд╛рдиреЗ рдЖрджрд┐ рдХреЗ рд▓рд┐рдПред рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рдореНрди рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- void glutDisplayFunc (void (* func) (void)) - рдЗрдореЗрдЬ рдбреНрд░реЙрдЗрдВрдЧ рдлрдВрдХреНрд╢рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
- void glutReshapeFunc (void (* func) (int рдЪреМрдбрд╝рд╛рдИ, int рдКрдБрдЪрд╛рдИ)) - рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдВрдбреЛ рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
- рд╢реВрдиреНрдп glutVisibilityFunc (void (* func) (int рд╕реНрдерд┐рддрд┐)) - рдПрдХ рд╡рд┐рдВрдбреЛ рдХреА рджреГрд╢реНрдпрддрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдп рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
- void glutKeyboardFunc (void (* func) (рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЪрд╛рд░ рдХреБрдВрдЬреА, int x, int y)) - рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреАрдмреЛрд░реНрдб рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдХреЗрд╡рд▓ рдЬреЛ рдХрд┐ рдЗрд╕реНрдХреА рдЕрдХреНрд╖рд░ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ)
- void glutSpecialFunc (void (* func) (int key, int x, int y)) - рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреАрдмреЛрд░реНрдб рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдПрд╕рд╕реАрдЖрдИ рд╡рд░реНрдг рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)
- void glutIdleFunc (void (* func) (рд╢реВрдиреНрдп)) - рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛
- void glutMouseFunc (void (* func) (int рдмрдЯрди, int state, int x, int y)) - рдорд╛рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ
- void glutMotionFunc (void (* func) (int x, int y)) - рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдорд╛рдЙрд╕ рдмрдЯрди рдХреЛ рджрдмрд╛рдиреЗ рдкрд░ рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдХреА рдЧрддрд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
- void glutPassiveMotionFunc (void (* func) (int x, int y)) - рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдХреА рдЧрддрд┐ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдорд╛рдЙрд╕ рдмрдЯрди рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред
- void glutEntryFunc (void (* func) (int state)) - рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдВрдбреЛ рдХреЗ рдмрд╛рд╣рд░ рдХрд░реНрд╕рд░ рдХреА рдЧрддрд┐ рдФрд░ рдЙрд╕рдХреА рд╡рд╛рдкрд╕реА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ
- рд╢реВрдиреНрдп glutTimerFunc (рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд int msecs, void (* func) (int value), рдорд╛рди) - рдЯрд╛рдЗрдорд░ рджреНрд╡рд╛рд░рд╛ рдХрд╣реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ
рдлрд┐рд░ рдЖрдк рдореБрдЦреНрдп рдЧреНрд▓реВрдЯрд╛рдореЗрдирд▓реЛрдк () рд▓реВрдк рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдЕрдм рд╣рдо рдУрдкрдирдЬреАрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЖрдк рдЬреНрдЮрд╛рди рдХреЛ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ GLUT рд╣реИрдбрд░ рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- #if рдкрд░рд┐рднрд╛рд╖рд┐рдд (linux) || рдкрд░рд┐рднрд╛рд╖рд┐рдд (_WIN32)
- #include <GL / glut.h> / * рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП * /
- #else
- рдореИрдХ рдУрдПрд╕ * рдХреЗ рд▓рд┐рдП #include <GLUT / GLUT.h> / *
- #endif
рдЕрдм рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдореБрдЦреНрдп рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реИред рд╣рдо рджреЛ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░реЗрдВрдЧреЗ: рд╡рд┐рдВрдбреЛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрд░реЗрдЦрдг рдХрд░рдиреЗ рдФрд░ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдПред рдпреЗ рджреЛ рд╣реИрдВрдбрд▓рд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдУрдкрдирдЬреАрдПрд▓ рдФрд░ рдЧреНрд▓реВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- int main ( int argc , char * argv [ ] )
- {
- glutInit ( & argc , argv ) ;
- glutInitDisplayMode ( GLUT_DOUBLE | GLUT_RGBA ) ; / * рдбрдмрд▓ рдмрдлрд░рд┐рдВрдЧ рдФрд░ рдЪрд╛рд░-рдШрдЯрдХ рд░рдВрдЧ рдЪрд╛рд▓реВ рдХрд░реЗрдВ * /
- glutInitWindowSize ( 800 , 600 ) ;
- glutCreateWindow ( "OpenGL рдкрд╛рда 1" ) ;
- glutReshapeFunc ( reshape ) ;
- glutDisplayFunc ( рдкреНрд░рджрд░реНрд╢рди ) ;
- glutMainLoop ( ) ;
- рд╡рд╛рдкрд╕реА 0 ;
- }
рдЕрдм рд╣рдореЗрдВ рд╡рд┐рдВрдбреЛ рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред GlViewport рдХрдорд╛рдВрдб (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкреВрд░реА рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред рдлрд┐рд░ рдкреНрд░рдХреНрд╖реЗрдкрдг рдореИрдЯреНрд░рд┐рдХреНрд╕ glMatrixMode (GL_PROJECTION) рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ, рдЗрд╕реЗ рдЗрдХрд╛рдИ glLoadIdentity () рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ рдФрд░ рдСрд░реНрдереЛрдЧреЛрдирд▓ рдкреНрд░рдХреНрд╖реЗрдкрдг рд╕реЗрдЯ рдХрд░реЗрдВред рдЕрдВрдд рдореЗрдВ, рдореЙрдбрд▓ рдХреЛ рджреЗрдЦреЗрдВ- glamatrixMode рдореИрдЯреНрд░рд┐рдХреНрд╕ (GL_MODELVIEW) рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдПрдХрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред
рдирддреАрдЬрддрди, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
- рд╢реВрдиреНрдп рдЖрдХрд╛рд░ ( рдЗрдВрдЯ рдбрдмреНрд▓реНрдпреВ , рдЗрдВрдЯ рдПрдЪ )
- {
- glViewport ( 0 , 0 , w , h ) ;
- glMatrixMode ( GL_PROJECTION ) ;
- glLoadIdentity ( ) ;
- gluOrtho2D ( 0 , w , 0 , h ) ;
- glMatrixMode ( GL_MODELVIEW ) ;
- glLoadIdentity ( ) ;
- }
рдпрд╣ рдХреЗрд╡рд▓ рдЦрд┐рдбрд╝рдХреА рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рдХрд╛рдлреА рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдбреНрд░рд╛рдЗрдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ glClear (рдореЛрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдмрдлрд╝рд░реНрд╕ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд╛рде рд╣реА glutInitDisplayMode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдп:
- GL_COLOR_BUFFER_BIT - рд░рдВрдЧ рдмрдлрд╝рд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- GL_DEPTH_BUFFER_BIT - рдЧрд╣рд░рд╛рдИ рдмрдлрд╝рд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- GL_ACCUM_BUFFER_BIT - рд╕рдВрдЪрдп рдмрдлрд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
- GL_STENCIL_BUFFER_BIT - рд╕реНрдХреНрд░реАрди рдмрдлрд░ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рд░рдВрдЧреАрди рдмрдлрд░ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рджреВрд╕рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рдбреНрд░рд╛рдЗрдВрдЧ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ OpenGL рдХреЛ glutSwapBuffers () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░реАрди рдмрдлрд╝рд░реНрд╕ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ , рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбрдмрд▓ рдмрдлрд░рд┐рдВрдЧ рд╕рдХреНрд╖рдо рд╣реИред рд╕рдм рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЫрд┐рдкреЗ рд╣реБрдП рдмрдлрд░ рдкрд░ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмрдлрд╝рд░реНрд╕ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЪрд┐рдХрдирд╛ рдПрдиреАрдореЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рд╕реНрдХреНрд░реАрди рдХреЗ рдкреНрд░рднрд╛рд╡ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:
- рд╢реВрдиреНрдп рдкреНрд░рджрд░реНрд╢рди ( )
- {
- glClear ( GL_COLOR_BUFFER_BIT ) ;
- glBegin ( GL_QUADS ) ;
- glColor3f ( 1.0 , 1.0 , 1.0 ) ;
- glVertex2i ( 250 , 450 ) ;
- glColor3f ( 0.0 , 0.0 , 1.0 ) ;
- glVertex2i ( 250 , 150 ) ;
- glColor3f ( 0.0 , 1.0 , 0.0 ) ;
- glVertex2i ( 550 , 150 ) ;
- glColor3f ( 1.0 , 0.0 , 0.0 ) ;
- glVertex2i ( 550 , 450 ) ;
- glEnd ( ) ;
- glutSwapBuffers ( ) ;
- }
рдкрд░рд┐рдгрд╛рдо
рд╡рд╣ рд╕рдм рд╣реИ! рдЖрдк рд╕рдВрдХрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:
рд╕рдВрдкреВрд░реНрдг рдХреЛрдб (рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд▓реЗрдЦ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХреА рд╣реИ)ред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред
OpenGL рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИред OpenGL рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред OpenGL рдХреЗ рд▓рд┐рдП рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдмрд╛рдБрдз рд╣реИрдВ, рдЬреИрд╕реЗ C, C ++, C #, Java, рдкрд╛рдпрдерди, рдкрд░реНрд▓, VB рдФрд░ рдЕрдиреНрдпред рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ OpenGL рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред