OpenGL рдХреЛ рдЬрд╛рдиреЗрдВ

рдУрдкрди



рдУрдкрдирдЬреАрдПрд▓ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдХрд╣рдХрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдУрдкрдирдЬреАрдПрд▓ рдПрдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╣реИ ред рдпрд╛рдиреА рдУрдкрдирдЬреАрдПрд▓ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

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



рдирд╛рдордХрд░рдг



рдЖрдЗрдП OpenGL рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдордХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж рдХрд╣рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, OpenGL рджреНрд╡рд╛рд░рд╛ рд╕реАрдзреЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдо рдЙрдкрд╕рд░реНрдЧ gl рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдордиреНрд╡рдп рдпрд╛ рд░рдВрдЧ) рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд╛рд▓реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдкреНрд░рддреНрдпрдп рд╣реЛрддрд╛ рд╣реИ [рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ + рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ + рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡]ред



рдЙрджрд╛рд╣рд░рдг: glVertex3iv рдПрдХ рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рддреАрди рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░, рд╢реАрд░реНрд╖ рд╕рдордиреНрд╡рдп рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред



рдЧреНрд░рд╛рдлрд┐рдХреНрд╕



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



GlBegin (primitive_type) ... glEnd () рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрджрд┐рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдп glVertex * рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╡рд╛рдорд╛рд╡рд░реНрдд рд╕реЗрдЯ рд╣реИрдВред рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЦрд┐рдбрд╝рдХреА рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╢реАрд░реНрд╖ рдХрд╛ рд░рдВрдЧ glColor * рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░рдВрдЧ рдХреЛ RGB рдпрд╛ RGBA рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред GlColor * рдХрдорд╛рдВрдб рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп glColor * рдХрдорд╛рдВрдб рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рддрдХ рдЖрддреЗ рд╣реИрдВ, рдпрд╛ рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп GlColor * рдХрдорд╛рдВрдб рдирд╣реАрдВ рд╣реИрдВред

рдпрд╣рд╛рдБ рдмрд╣реБ-рд░рдВрдЧ рд╡рд╛рд▓реЗ рдХреЛрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдб рд╣реИ:

  1. glBegin ( GL_QUADS ) ;
  2. glColor3f ( 1.0 , 1.0 , 1.0 ) ;
  3. glVertex2i ( 250 , 450 ) ;
  4. glColor3f ( 0.0 , 0.0 , 1.0 ) ;
  5. glVertex2i ( 250 , 150 ) ;
  6. glColor3f ( 0.0 , 1.0 , 0.0 ) ;
  7. glVertex2i ( 550 , 150 ) ;
  8. glColor3f ( 1.0 , 0.0 , 0.0 ) ;
  9. glVertex2i ( 550 , 450 ) ;
  10. glEnd ( ) ;




рдУрдкрдирдЬреАрдПрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореВрд▓ рдмрд╛рддреЗрдВ



рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╕реНрд╡рддрдВрддреНрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдк GLUT рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред GLUT, OpenGL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ GLUT рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП glutInit (& argc, argv) рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВред рдкреНрд░рджрд░реНрд╢рди рдореЛрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, glutInitDisplayMode (рдореЛрдб) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореЛрдб рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:



рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдореЛрдб рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд┐рдЯрд╡рд╛рдЗрд╕ рдпрд╛ '|' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH) рдореЗрдВ рдбрдмрд▓ рдмрдлрд░рд┐рдВрдЧ, Z рдмрдлрд░ рдФрд░ рдЪрд╛рд░-рдШрдЯрдХ рд░рдВрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЦрд┐рдбрд╝рдХреА рдХреЗ рдЖрдХрд╛рд░ glutInitWindowSize (рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ glutInitWindowPosition (x, y) рд╣реИ ред рдПрдХ рд╡рд┐рдВрдбреЛ glutCreateWindow рдлрд╝рдВрдХреНрд╢рди (window_head) рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИред

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



рдлрд┐рд░ рдЖрдк рдореБрдЦреНрдп рдЧреНрд▓реВрдЯрд╛рдореЗрдирд▓реЛрдк () рд▓реВрдк рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо



рдЕрдм рд╣рдо рдУрдкрдирдЬреАрдПрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдЖрдк рдЬреНрдЮрд╛рди рдХреЛ рдордЬрдмреВрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ GLUT рд╣реИрдбрд░ рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  1. #if рдкрд░рд┐рднрд╛рд╖рд┐рдд (linux) || рдкрд░рд┐рднрд╛рд╖рд┐рдд (_WIN32)
  2. #include <GL / glut.h> / * рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП * /
  3. #else
  4. рдореИрдХ рдУрдПрд╕ * рдХреЗ рд▓рд┐рдП #include <GLUT / GLUT.h> / *
  5. #endif


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

  1. int main ( int argc , char * argv [ ] )
  2. {
  3. glutInit ( & argc , argv ) ;
  4. glutInitDisplayMode ( GLUT_DOUBLE | GLUT_RGBA ) ; / * рдбрдмрд▓ рдмрдлрд░рд┐рдВрдЧ рдФрд░ рдЪрд╛рд░-рдШрдЯрдХ рд░рдВрдЧ рдЪрд╛рд▓реВ рдХрд░реЗрдВ * /
  5. glutInitWindowSize ( 800 , 600 ) ;
  6. glutCreateWindow ( "OpenGL рдкрд╛рда 1" ) ;
  7. glutReshapeFunc ( reshape ) ;
  8. glutDisplayFunc ( рдкреНрд░рджрд░реНрд╢рди ) ;
  9. glutMainLoop ( ) ;
  10. рд╡рд╛рдкрд╕реА 0 ;
  11. }


рдЕрдм рд╣рдореЗрдВ рд╡рд┐рдВрдбреЛ рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИрдВрдбрд▓рд░ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред GlViewport рдХрдорд╛рдВрдб (x, y, рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫрд╡рд┐ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкреВрд░реА рд╡рд┐рдВрдбреЛ рдХреЗ рдЖрдХрд╛рд░ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред рдлрд┐рд░ рдкреНрд░рдХреНрд╖реЗрдкрдг рдореИрдЯреНрд░рд┐рдХреНрд╕ glMatrixMode (GL_PROJECTION) рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ, рдЗрд╕реЗ рдЗрдХрд╛рдИ glLoadIdentity () рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ рдФрд░ рдСрд░реНрдереЛрдЧреЛрдирд▓ рдкреНрд░рдХреНрд╖реЗрдкрдг рд╕реЗрдЯ рдХрд░реЗрдВред рдЕрдВрдд рдореЗрдВ, рдореЙрдбрд▓ рдХреЛ рджреЗрдЦреЗрдВ- glamatrixMode рдореИрдЯреНрд░рд┐рдХреНрд╕ (GL_MODELVIEW) рджреЗрдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдПрдХрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред

рдирддреАрдЬрддрди, рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

  1. рд╢реВрдиреНрдп рдЖрдХрд╛рд░ ( рдЗрдВрдЯ рдбрдмреНрд▓реНрдпреВ , рдЗрдВрдЯ рдПрдЪ )
  2. {
  3. glViewport ( 0 , 0 , w , h ) ;
  4. glMatrixMode ( GL_PROJECTION ) ;
  5. glLoadIdentity ( ) ;
  6. gluOrtho2D ( 0 , w , 0 , h ) ;
  7. glMatrixMode ( GL_MODELVIEW ) ;
  8. glLoadIdentity ( ) ;
  9. }


рдпрд╣ рдХреЗрд╡рд▓ рдЦрд┐рдбрд╝рдХреА рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╡рд░реНрдЧ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рдХрд╛рдлреА рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдбреНрд░рд╛рдЗрдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ glClear (рдореЛрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдмрдлрд╝рд░реНрд╕ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд╛рде рд╣реА glutInitDisplayMode рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рдореВрд▓реНрдп:



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

рд╣рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИ:

  1. рд╢реВрдиреНрдп рдкреНрд░рджрд░реНрд╢рди ( )
  2. {
  3. glClear ( GL_COLOR_BUFFER_BIT ) ;
  4. glBegin ( GL_QUADS ) ;
  5. glColor3f ( 1.0 , 1.0 , 1.0 ) ;
  6. glVertex2i ( 250 , 450 ) ;
  7. glColor3f ( 0.0 , 0.0 , 1.0 ) ;
  8. glVertex2i ( 250 , 150 ) ;
  9. glColor3f ( 0.0 , 1.0 , 0.0 ) ;
  10. glVertex2i ( 550 , 150 ) ;
  11. glColor3f ( 1.0 , 0.0 , 0.0 ) ;
  12. glVertex2i ( 550 , 450 ) ;
  13. glEnd ( ) ;
  14. glutSwapBuffers ( ) ;
  15. }




рдкрд░рд┐рдгрд╛рдо



рд╡рд╣ рд╕рдм рд╣реИ! рдЖрдк рд╕рдВрдХрд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:

рд╕реНрдХреНрд░реАрди

рд╕рдВрдкреВрд░реНрдг рдХреЛрдб (рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд▓реЗрдЦ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рдХреА рд╣реИ)ред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕рдореЗрдВ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред



OpenGL рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реИред OpenGL рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред OpenGL рдХреЗ рд▓рд┐рдП рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдмрд╛рдБрдз рд╣реИрдВ, рдЬреИрд╕реЗ C, C ++, C #, Java, рдкрд╛рдпрдерди, рдкрд░реНрд▓, VB рдФрд░ рдЕрдиреНрдпред рдЖрдк рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ OpenGL рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред



All Articles