рд╣рдо рдУрдкрдирдЬреАрдПрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ

рдкреЛрд╕реНрдЯ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рд╣реИред рдпрд╣ Visual Studio рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ред рд╡рд╣ рдЖрдкрдХреЛ рдХреБрдЫ рдкрд╛рда рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЛ OpenGL рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ, рдпрд╛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕рд┐рдЦрд╛рдПрдЧрд╛ред

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

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

MinGW

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВред рдЖрдк рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рддреБрд░рдВрдд рддрд╛рдЬрд╛ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдлреЛрд░рдЯреНрд░рд╛рди, рдПрдбрд╛ рдФрд░ рдУрдмрдЬреИрдХ рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред MSYS рдмреЗрд╕рд┐рдХ рд╕рд┐рд╕реНрдЯрдо рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИ, рд╣рдо рдЗрд╕реЗ рдбрд╛рд▓рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдкрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ " C:\MinGW " рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдФрд░ рдПрдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, " C:\Program Files\Common Files\MinGW "ред

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, PATH рд╕рд┐рд╕реНрдЯрдо рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рджреЛ рдирдП рдлрд╝реЛрд▓реНрдбрд░ рдЬреЛрдбрд╝реЗрдВ: " MinGW\bin " рдФрд░ " MinGW\msys\1.0\bin "ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯрд╛рд░реНрдЯ -> рдХрдВрдЯреНрд░реЛрд▓ рдкреИрдирд▓ -> рд╕рд┐рд╕реНрдЯрдо -> рдПрдбрд╡рд╛рдВрд╕реНрдб рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░ рдЬрд╛рдПрдВ ; рдЙрдиреНрдирдд рдЯреИрдм рдореЗрдВ, рдиреАрдЪреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрдЯрди рджрдмрд╛рдПрдВред рд╕рд┐рд╕реНрдЯрдо рдЪрд░ рдХреА рд╕реВрдЪреА рд╕реЗ, рдкрде рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдФрд░ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ " MinGW\bin " рдФрд░ " MinGW\msys\1.0\bin " рдореЗрдВ рдкреВрд░реНрдг рдкрддреЗ рдЬреЛрдбрд╝реЗрдВред

рдпрджрд┐ рдЖрдкрдиреЗ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдирдП рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдЪреБрдирд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрджреНрдпрддрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВ ( Win + R -> cmd ), рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рд▓рд┐рдЦреЗрдВ:
 mingw-get update 
рдЙрдкрд▓рдмреНрдз рдкреИрдХреЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрджреНрдпрддрди рдЬрд╛рдирдХрд╛рд░реА,
 mingw-get show g mingw-get show g++ 
Gcc рдФрд░ g ++ рд╕рдВрдХреБрд▓ рдХреЗ рдкреВрд░реНрдг рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ,
 mingw-get upgrade mingw32-gcc mingw-get upgrade mingw32-gcc-g++ 
рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ MinGW рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИ, рддреЛ рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдУрдкрдирдЬреАрдПрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

Freeglut

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

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ MinGW рдХреЗ рд▓рд┐рдП рдмрд╛рдпрдиреЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ред рдЕрдирдкреИрдХ, bin рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ freeglut.dll рдЬрд┐рд╕реЗ рд╣рдо " C:\Windows\System32 " (x86 рдХреЗ рд▓рд┐рдП) рдпрд╛ " C:\Windows\SysWOW64 " (x64 рдХреЗ рд▓рд┐рдП), рдпрд╛ PATH рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлреЗрдВрдХ рджреЗрддреЗ рд╣реИрдВред include рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ " MinGW\include " рдФрд░ " MinGW\lib " (рдпрд╣ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛), рдпрд╛ рдмрдирд╛рдП рдЧрдП рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ " MinGW\freeglut\include " рдФрд░ " MinGW\freeglut\lib " рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рд╕рдм рдлреНрд░реАрдЧрд▓ рдХреЗ рд╕рд╛рде рд╣реИред рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, #include <GL/freeglut.h>

Glew

Glew рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХреНрдпрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред
рд╣рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рд╕реНрд░реЛрдд рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ , рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдмрд╛рдпрдиреЗрд░реАрдЬрд╝ рдХреЛ рддреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЕрдм рдЗрди рд╕реНрд░реЛрддреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╕рдордЭрддрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ Google рдХреА рдУрд░ рд░реБрдЦ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣рд╛рдВ рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХреА:
рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдЕрдирдкреИрдХ рдХрд░реЗрдВ, рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВ, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рд▓рд┐рдЦреЗрдВ:
 gcc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -DGLEW_BUILD -o src/glew.o -c src/glew.c gcc -shared -Wl,-soname,libglew32.dll -Wl,--out-implib,lib/libglew32.dll.a -o lib/glew32.dll src/glew.o -L/mingw/lib -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32 ar cr lib/libglew32.a src/glew.o 
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, 3 рдлрд╛рдЗрд▓реЗрдВ glew32.dll рдлреЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреАрдВ: glew32.dll , glew32.dll.a рдФрд░ glew32.a ред
glew32.dll рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдЬрд╣рд╛рдБ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ freeglut.dll рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ freeglut.dll , рд╢реЗрд╖ 2 - рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ " MinGW\lib " рдпрд╛ " MinGW\glew\lib "ред
include рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ, " MinGW\include " рдпрд╛ " MinGW\glew\include " рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВред

рдпрд╣ рд╕рдм glew рдХреЗ рд╕рд╛рде рд╣реИред рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ #include <GL/glew.h> рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдиреНрдп #include <GL/glew.h> рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рдПрдХ рдиреНрдпреВрдирддрдо рдЯреЗрд╕реНрдЯ рдмрдирд╛рдПрдВред
 #include <iostream> #include <GL/glew.h> #include <GL/freeglut.h> #include <GL/gl.h> int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA); glutInitWindowSize(512, 512); glutInitContextVersion(4, 1); //  OpenGL,     glutInitContextProfile(GLUT_CORE_PROFILE); glutCreateWindow(argv[0]); if (glewInit()) { std::cerr << "Unable to initialize GLEW ... exiting\n"; exit(EXIT_FAILURE); } glutMainLoop(); } 

GlutInitContextVersion рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ - рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ рдпрджрд┐ рдпрд╣ рдУрдкрдирдЬреАрдПрд▓ рдХреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдмрдирд╛рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИред OpenGL рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрдкрдХреЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЖрдк рдЗрд╕рдХреЗ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ glew рдмрд╛рдпрдиреЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ glewinfo.exe рдХреЛ bin рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдЪрд▓рд╛ glewinfo.exe ред рдпрд╣ glewinfo.txt рдлрд╝рд╛рдЗрд▓ рдЬрдирд░реЗрдЯ рдХрд░реЗрдЧрд╛, рдЬреЛ рдЖрдкрдХреЗ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВред рдХрднреА-рдХрднреА рдЕрдзрд┐рдХ рд╣рд╛рд▓рд┐рдпрд╛ рд╡реАрдбрд┐рдпреЛ рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВ, test.cpp рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рд▓рд┐рдЦреЗрдВ:
 g++ -o test.exe test.cpp -lglew32 -lfreeglut -lopengl32 -lglu32 -Wl,--subsystem,windows 
рдпрджрд┐ рдЖрдкрдиреЗ рдЕрд▓рдЧ freeglut рдФрд░ glew , рддреЛ рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рдЙрдкрдпреБрдХреНрдд рдЕрддрд┐рд░рд┐рдХреНрдд include рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлреЛрд▓реНрдбрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗред рдлрд┐рд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрдорд╛рдВрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 g++ -o test.exe test.cpp -lglew32 -lfreeglut -lopengl32 -lglu32 -Wl,--subsystem,windows -I"C:\MinGW\freeglut\include" -L"C:\MinGW\freeglut\lib" -I"C:\MinGW\glew\include" -L"C:\MinGW\glew\lib" 

-Wl,--subsystem,windows рдлреНрд▓реИрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдХрдВрд╕реЛрд▓ред
рдпрджрд┐ рд╕рдм рдХреБрдЫ test.exe , рддреЛ test.exe рдлрд╝рд╛рдЗрд▓ test.exe рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░, рдПрдХ рд╕рдлреЗрдж 512x512 рд╡рд┐рдВрдбреЛ рдмрдирд╛рддрд╛ рд╣реИред

рдЬрдм рдЖрдк рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ - freeglut.dll рдФрд░ glew32.dll ред

рдЙрджрд╛рддреНрдд рдкрд╛рда реи

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЙрджрд╛рддреНрдд рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ , рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рд╡реАрдбрд┐рдпреЛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, C ++ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ:
" C:\Users\%Username%\AppData\Roaming\Sublime Text 2\Packages\C++\C++.sublime-build "
рдЗрд╕рдХреА рдПрдХ рдкреНрд░рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ
" C:\Users\%Username%\AppData\Roaming\Sublime Text 2\Packages\User\C++\++ OpenGL.sublime-build "

рд▓рд╛рдЗрди
 "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"], 
рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкреВрд░рдХ:
 "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}", "-lfreeglut -lopengl32 -lglew32 -Wl,--subsystem,windows"], 

рдЗрд╕реА рддрд░рд╣, рд▓рд╛рдЗрди
 "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' && '${file_path}/${file_base_name}'"] 
рдХреЗ рдкреВрд░рдХ рд╣реИрдВ
 "cmd": ["bash", "-c", "g++ '${file}' -o '${file_path}/${file_base_name}' -lglew32 -lfreeglut -lopengl32 -lglu32 -Wl,--subsystem,windows && '${file_path}/${file_base_name}'"] 
рдпрджрд┐ рдЖрдкрдиреЗ рдлреНрд░реАрдЧреНрд▓реВрдЯ рдФрд░ рдЬреАрдПрд▓рдИ рдХреЗ рддрд╣рдд рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдП рд╣реИрдВ, рддреЛ рдЗрди рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд include рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рдкрддреЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдХреЗ рдкреВрд░рдХ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рддреНрдд рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рдВрддреНрд╡рдирд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░рд┐рд▓рд┐рдХ рд╡рд░реНрдгрдорд╛рд▓рд╛ рдХреЗ рдЙрддреНрдкрд╛рджрди рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд╣реАрдВ
 "selector": "source.c, source.c++", 
рдЬреЛрдбрд╝рдиреЗ
 "encoding": "cp1251", 

рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ test.cpp рдУрдкрди рд╣реИ, рдЯреВрд▓реНрд╕ -> рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо -> C ++ OpenGL рдЪреБрдиреЗрдВ ред
рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Ctrl + B рджрдмрд╛рдПрдВ , Ctrl + Shift + B рджрдмрд╛рдПрдВ ред

рд╡рд╣ рд╕рдм рд╣реИ!

UPD : рдЬрдм рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ gl рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХреЛрдб рдЖрдпрд╛, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ GL/gl.h рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ред рдЗрд╕рдореЗрдВ рдПрдХ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг 1.1 рд╣реИ, рдФрд░ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЕрдм рдЕрджреНрдпрддрди рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ GL/glext.h (рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛) рдФрд░ GL/wglext.h ( рдпрд╣рд╛рдВ рд╕реЗ ) рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ GL/glxext.h ( рд▓рд┐рдВрдХ ) рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрдирдХреЗ рдЕрдкреНрд░рдЪрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде " MinGW/include/GL/ " рдкрддреЗ рдкрд░ MinGW/include/GL/ ред

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


All Articles