рдкреЛрд╕реНрдЯ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рд╣реИред рдпрд╣ 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/
ред