ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ opengl
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ OpenGL Π² Visual Studio 2010
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ OpenGL Π½Π° Visual Studio 2010
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ GLUT(The OpenGL Utility Toolkit) c ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°:
http://www.opengl.org/resources/libraries/glut/
ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ:
http://www.cs.csustan.edu/
rsc/SDSU/GLUTinstall.html
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π² Other GLUT Information/Downloads Π²ΡΠ±Π΅ΡΠΈΡΠ΅:
Pre-compiled Win32 for Intel GLUT 3.7 DLLs for Windows 95 & NT
ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΡΠ°Π·Ρ:
http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip
ΠΠΎΡΠ»Π΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π°ΡΡ ΠΈΠ² ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ.Π ΠΏΠ°ΠΏΠΊΠ΅ Π±ΡΠ΄Π΅Ρ 5 ΡΠ°ΠΉΠ»ΠΎΠ²:
Π€Π°ΠΉΠ»Ρ glut.dll ΠΈ glut32.dll Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π² Π²Π°ΡΡ WINDOWS Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π² ΠΏΠ°ΠΏΠΊΡ System32,Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΡΡ:C:\Windows\System32
ΠΈΠ»ΠΈ Π² C:\Windows\SysWOW64 Π΅ΡΠ»ΠΈ 64-Π±ΠΈΡΠ½Π°Ρ Windows!
ΠΠ°Π»Π΅Π΅ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π²Π°Ρ glut.h Π² ΠΏΠ°ΠΏΠΊΡ Ρ Π²Π°ΡΠ΅ΠΉ Visual Studio ΠΏΠΎ ΠΏΡΡΠΈ:
\Visual_Studio\VC\include
ΠΠ°ΡΠ΅ΠΌ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ ΡΠ°ΠΉΠ»Ρ glut.lib ΠΈ glut32.lib ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ \Visual_Studio\VC\lib
ΠΠ°Π»Π΅Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ°ΠΌ Visual Studio 2010 ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΠΉ.ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ,Π²ΠΊΠ»Π°Π΄ΠΊΠ° Properties.
ΠΠ°Π»Π΅Π΅ Π² Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Configuration Properties ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΡ Linker Π° Π² Π½Π΅ΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΡ Input.
Π‘ΠΏΡΠ°Π²Π° Π² ΠΎΠΊΠ½Π΅ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΡΠΎΠΊΡ Additional dependencies.
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Edit.
ΠΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π² Π²ΡΡΠ΅Π΄ΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ ΡΡΡΠΎΠΊΡ(ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ):
opengl32.lib glut32.lib glu32.lib
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ «ΠΠ» ΠΈ «ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ» ΠΈΠ»ΠΈ «Apply» Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΈΠ³ΡΡΡ(Π±Π΅Π»ΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°)Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ OpenGL.
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π΅ΠΌ (ΠΊΠΎΠ΄):
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenGL ΠΊ Visual Studio 2017
ΠΠ°ΠΊ Π² visual studio 2008 Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ opengl
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΠΉΡΠ΅, Ρ ΡΠΊΠ°ΡΠ°Π» ΠΎΡΡΡΠ΄Π° http://www.swiftless.com/tutorials/opengl/gldrivers.html Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ OpenGL ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ Π½Π° Π‘++ (Visual Studio)
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ! ΠΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ OpenGL ΠΊ ΡΠ²ΠΎΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ.
«OpenGL» Ρ ΡΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π». Π Π½Π΅ΠΉ Ρ ΡΠΎΠ·Π΄Π°Π» ΠΏΠ°ΠΏΠΊΡ «glut». Π ΠΏΠ°ΠΏΠΊΠ΅ «glut» ΡΠΎΠ·Π΄Π°Π» ΠΏΠ°ΠΏΠΊΠΈ: «include», «lib» ΠΈ «bin». Π ΡΠ°ΡΠΊΠΈΠ΄Π°Π» ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. Π «bin» ΠΏΠΎΠ»ΠΎΠΆΠΈΠ» glut32.dll. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°.
ΠΠΎΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Ρ ΠΌΠ΅Π½Ρ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠΈΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π°.
— lib
— Win32
—- glut32.dll
—- glut32.lib
— x64
—- glut32.dll
—- glut32.lib
Π Π΅ΡΠ΅Π½ΠΈΠ΅
GLUT ΠΏΠ΅ΡΠ΅ΡΡΠ» Π² FreeGLUT. ΠΡΠΎ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅. ΠΠΎΠ»ΠΎΠΆΠΈΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΠΏΠ°ΠΏΠΊΡ «Libs», Π½Π°ΡΡΡΠΎΠΈΠ» ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΡΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² main.cpp. ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΠ°Π·Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π²Π΅ΡΡΠΈΠ½. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ OpenGL 3.3 Core: FreeGLUTAndGLSL.zip
ΠΠΎ ΠΈΠ΄Π΅Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΡΠ°Π²ΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² main.cpp, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠ»ΠΈ Π΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠΎ Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π³ CPP (ΠΊΠ½ΠΎΠΏΠΊΠ° C++ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ)
ΠΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΡΠΊΠ°ΡΠ°Π» ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΡΡΡΠΎΡΠΈΠ°Π»Π°. ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π». ΠΠΎΠ±Π°Π²ΠΈΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GLM Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π΅Π³ΠΎ Ρ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ.
ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Windows Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ OpenGL
ΠΠΎΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ². Π Π½Π΅ΠΌ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Visual Studio. ΠΠ½ Π½Π°ΡΡΠΈΡ Π²Π°Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ OpenGL ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π»ΠΈΠ±ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎ ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΡΡΡΠ½ΡΡ.
ΠΠ΅Π΄Π°Π²Π½ΠΎ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π²ΡΡΠ»ΠΎ 8-Π΅ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ OpenGL programming guide, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΆΠ΄Π°Π» ΡΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 2 Π³ΠΎΠ΄Π°. Π§ΡΡΡ ΡΠ°Π½ΡΡΠ΅ Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ Ρ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ Sublime Text 2 ΠΈ ΡΠ΅ΡΠΈΠ» Π½Π°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΡΠΆΠ΅Π»ΠΎΠΉ Visual Studio.
ΠΡΠ°ΠΊ, Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ β Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° G++. ΠΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ GCC, Π° Π΅Π³ΠΎ ΠΏΠΎΡΡ ΠΏΠΎΠ΄ Windows Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ MinGW. Π‘ Π½Π΅Π³ΠΎ ΠΈ Π½Π°ΡΠ½Π΅ΠΌ:
MinGW
ΠΠ°ΡΠ°Π΅ΠΌ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ. ΠΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π²ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΠΆΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΡΠ°Π·Ρ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅, Π»ΠΈΠ±ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠΎΠ·ΠΆΠ΅. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Fortran, Ada ΠΈ ObjC Π½Π°ΠΌ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ, ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΡΠ°Π²ΠΈΡΡ. MSYS Basic System ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ, Π΅Π³ΠΎ ΡΡΠ°Π²ΠΈΠΌ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π΄ΡΠ΅ΡΠ° Ρ ΡΠΊΠ°Π·Π°Π» » C:\MinGW «, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π°Ρ ΡΡΠΎ ΡΠΌΡΡΠ°Π΅Ρ β ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, » C:\Program Files\Common Files\MinGW «.
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ OpenGL Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ.
Freeglut
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ OpenGL ΡΡΠΎ API, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ Π³ΡΠ°ΡΠΈΠΊΠ΅ β Π² Π½Π΅Π³ΠΎ Π½Π΅ Π²Ρ ΠΎΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π°. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎ-ΡΡΠΎΠΌΡ Π΅Π΅ Π²ΡΠ½Π΅ΡΠ»ΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ GLUT β OpenGL Utility Toolkit. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅Π»ΠΈΠ· ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ Π΄Π°Π²Π½ΠΎ ΠΈ ΡΠ΅ΠΉΡΠ°Ρ Π΅Π΅ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΠ»Π° freeglut.
ΠΠ°ΡΠ°Π΅ΠΌ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ ΠΏΠΎΠ΄ MinGW. Π Π°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ, freeglut.dll ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ bin ΠΊΠΈΠ΄Π°Π΅ΠΌ Π² » C:\Windows\System32 » (Π΄Π»Ρ Ρ 86) ΠΈΠ»ΠΈ » C:\Windows\SysWOW64 » (Π΄Π»Ρ Ρ 64), ΠΈΠ»ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·Π°Π½Π° Π² PATH. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΎΠΊ include ΠΈ lib ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΠ±ΠΎ Π² » MinGW\include » ΠΈ » MinGW\lib » (ΡΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅), Π»ΠΈΠ±ΠΎ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΡΠ΅ ΠΏΠ°ΠΏΠΊΠΈ » MinGW\freeglut\include » ΠΈ » MinGW\freeglut\lib «.
ΠΠ° ΡΡΠΎΠΌ Ρ freeglut Π²ΡΠ΅. ΠΠ»Ρ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ #include
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ test.cpp:
Sublime Text 2
ΠΡ ΠΈ Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ, ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Sublime. Π‘ΠΊΠ°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΄Π°, Π²Π²ΠΎΠ΄Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ-ΡΡΠΎΠΊΠΈ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π³Π»ΡΠ½ΡΡΡ Π·Π΄Π΅ΡΡ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π±ΠΈΠ»Π΄Π° Π‘++:
» 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 «
Π‘ΡΡΠΎΡΠΊΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ:
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Sublime Π½Π΅ ΠΎΡΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ Π² ΡΠ²ΠΎΡ ΠΊΠΎΠ½ΡΠΎΠ»Ρ, ΠΏΠΎΡΠ»Π΅
Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ
UPD: ΠΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡΠ»ΠΎ Π΄ΠΎ ΠΊΠΎΠ΄Π° Ρ gl-ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ, Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° GL/gl.h Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. Π Π½Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ 1.1, ΠΈ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ GL/glext.h (ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π΄ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΡΡΡΠ΄Π°) ΠΈ GL/wglext.h (ΠΎΡΡΡΠ΄Π°). ΠΠ»Ρ Π»ΠΈΠ½ΡΠΊΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°ΠΉΠ» Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ GL/glxext.h (ΡΡΡΠ»ΠΊΠ°). Π‘ΠΊΠ°ΡΠ°Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ » MinGW/include/GL/ «.
Π£ΡΠΎΠΊ β2. ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ OpenGL: Π½Π°ΡΡΡΠΎΠΉΠΊΠ° GLFW, CMake ΠΈ GLAD
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ β ΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ OpenGL ΠΈ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ OpenGL ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡ Π½ΠΈΡ . ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠΊΠ½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄.
Π ΡΡΠ°ΡΡΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π°ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π½Π°ΡΠ΅Π»Π΅Π½Ρ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ OpenGL. ΠΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ·Π±Π°Π²ΡΡ Π½Π°Ρ ΠΎΡ Π²ΡΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ: GLUT, SDL, SFML ΠΈ GLFW. ΠΠ° ΡΡΠΈΡ ΡΡΠΎΠΊΠ°Ρ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GLFW. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°, Ρ.ΠΊ. ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΈΠ· Π½ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ GLFW.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° GLFW
GLFW (Π°Π½Π³Π». Β«Graphics Library FrameWorkΒ») β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ OpenGL. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° GLFW ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π½Π°ΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π½Π° ΡΠΊΡΠ°Π½ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ OpenGL, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠΊΠ½Π° ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄, ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΡΡΠ΅Π»ΠΈΡΡΠ΅Ρ Ρ Π½Π°ΡΠΈΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΠΌ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠΎΠΊΠ°Ρ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GLFW, ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° OpenGL, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ° ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GLFW, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ GLFW.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Microsoft Visual Studio 2019 (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π½Π°ΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΠΈ Ρ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Visual Studio). ΠΡΠ»ΠΈ ΠΆΠ΅ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ Visual Studio (ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π΄ΡΡΠ³ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ), ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΡ ΡΠΏΠΎΠΊΠΎΠΉΠ½Ρ, Ρ.ΠΊ. ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ GLFW Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ IDE.
Π‘Π±ΠΎΡΠΊΠ° GLFW
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ GLFW ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°. Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ GLFW ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ Visual Studio 2010-2019, Π½ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΠΈΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ, Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΡΡΠ½ΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ GLFW ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²Ρ ΡΠ°ΠΌΠΈ ΠΏΡΠΎΡΡΠ²ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ 64-Π±ΠΈΡΠ½ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ 64-Π±ΠΈΡΠ½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π΅ΡΠΈ:
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ;
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ Π½Π°ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠ³ΡΡ ΡΡΠΈΠΌ ΠΏΠΎΡ Π²Π°ΡΡΠ°ΡΡΡΡ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ). ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡΠΈΡ ΡΡ ΠΏΠΎΠ΄ ΡΠ³ΠΈΠ΄ΠΎΠΉ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ IDE ΠΈΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°/ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ IDE Ρ Π΄ΡΡΠ³ΠΈΡ Π»ΡΠ΄Π΅ΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ/ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΡΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ *.Ρ / *.cpp ΠΈ *.h / *.hpp ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΌ ΠΈ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ. ΠΠΎ Π½Π΅ ΡΠΏΠ΅ΡΠΈΡΠ΅ ΡΠ°ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ, Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ CMake.
CMake
CMake β ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²/ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ IDE (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Visual Studio, Code::Blocks ΠΈΠ»ΠΈ Eclipse). ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ² GLFW ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ΄ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual Studio 2019, Π° Π·Π°ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΅Π³ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ.
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ CMake Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ 2 Π²Π°ΡΠΈΠ°Π½ΡΠ°:
Π·Π°ΠΏΡΡΡΠΈΡΡ CMake ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ;
Π·Π°ΠΏΡΡΡΠΈΡΡ CMake ΡΠ΅ΡΠ΅Π· Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π½Π΅ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ Π²ΡΡ ΡΡΠ»ΠΎΠΆΠ½ΡΡΡ, ΡΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ CMake Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ glfw-3.3.2 ) ΠΈ ΠΏΠ°ΠΏΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ»Ρ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΏΠ°ΠΏΠΊΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° GLFW, Π° Π΄Π»Ρ ΠΏΠ°ΠΏΠΊΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ build :
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π²Π΅ΡΡΠΈΡ Visual Studio. Π’.ΠΊ. ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π² Visual Studio 2019, ΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΠΏΡΠΈΡ «Visual Studio 16 2019» :
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, Π½ΡΠΆΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ IDE Π·Π½Π°Π΅Ρ, Π³Π΄Π΅ Π½Π°ΠΉΡΠΈ Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ OpenGL. Π Π΅ΡΠΈΡΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
Π‘ΠΏΠΎΡΠΎΠ± β1: ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΊΠΈ include ΠΏΡΠΎΠ΅ΠΊΡΠ° GLFW Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ include Π²Π°ΡΠ΅ΠΉ IDE ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» glfw3.lib Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΏΠ°ΠΏΠΊΡ /lib Π²Π°ΡΠ΅ΠΉ IDE ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠ°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ, Π½ΠΎ ΠΌΡ Π΅Π³ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½ΠΎΠ²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° IDE ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π²Π°ΠΌ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ ΠΌΠ΅ΡΡΠ΅, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ OpenGL-GLFW-ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ OpenGL-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ!
ΠΠΈΠ½ΠΊΠΈΠ½Π³ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Ρ ΠΎΡΠΈΡΠ΅, ΠΈ Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° IDE ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈ ΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Lib ΠΈΠ· ΠΏΡΠΎΠ΅ΠΊΡΠ° GLFW, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈΠ· ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΎΠ±ΡΡΠΎΡΡ Π΄Π΅Π»Π° ΠΈ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΠΈ Include Π΄Π»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ VS Π±ΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎ ΠΌΡ, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΡΠ·Π°ΡΡ GLFW Ρ Π½Π°ΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Ρ Π² ΡΠ°Π·Π΄Π΅Π» «ΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊ» > «ΠΠ²ΠΎΠ΄» :
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠΈ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π° Β«Π‘Π±ΠΎΡΠΊΠ° GLFWΒ» ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ 64-Π±ΠΈΡΠ½ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΈΡΠ»ΠΎ Β«32Β» Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° OpenGL32.Lib ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΠΊΠ°ΠΊ Π±Ρ Π½Π°ΠΌΠ΅ΠΊΠ°Ρ Π½Π° ΡΠΎ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ 32-Π±ΠΈΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Microsoft SDK, ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ C:\Program Files (x86)\Windows Kits\10\Lib\[ΠΠΎΠΌΠ΅Ρ_Π²Π΅ΡΡΠΈΠΈ_SDK]\um\x64\ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π² Π½Π΅ΠΉ ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈ Π½Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°:
ΠΠΎΠ»ΡΡΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π·Π°ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ C:\Program Files (x86)\Windows Kits\10\Lib\[ΠΠΎΠΌΠ΅Ρ_Π²Π΅ΡΡΠΈΠΈ_SDK]\um\x86\, ΡΠΎ ΠΈ ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΉΠ» OpenGL32.Lib:
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° OpenGL32.Lib ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ (32-Π±ΠΈΡΠ½Π°Ρ ΠΈ 64-Π±ΠΈΡΠ½Π°Ρ) Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π² Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ Π΅ΡΡΡ ΡΠ°ΡΡΡ Β«32Β». ΠΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π² 64-Π±ΠΈΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ°ΡΠ΅ΠΌ, ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ GLFW ΠΈ OpenGL Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΡΠΈΠΊΠ°, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ GLFW ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΊΠΎΠ΄Π°:
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenGL Π² Windows
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΡΠ΅ ΠΌΠΎΡΠ½Π΅Π΅, ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π»Ρ ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅ ΡΠ°ΡΠ΅ Π΄Π»Ρ ΠΈΠ³Ρ, 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΌΠΎΠ½ΡΠ°ΠΆΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenGL. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π»ΠΈ Π΄Π°Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΈ ΠΎΠΏΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π² Windows 7 ΠΈ Windows 10.
ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ OpenGL
OpenGL ΡΠ°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Open Graphics Library ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ API Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ°Π½Π½ΠΎΠ΅ ΠΠ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ 2D ΠΈ 3D Π³ΡΠ°ΡΠΈΠΊΠΈ Π²Π΅ΠΊΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΈΠ³Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°.
ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π²Π΅ΡΡΠΈΡ OpenGL ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² Windows
Π Π»ΡΠ±ΠΎΠΉ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Windows, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° OpenGL Π²ΡΡΡΠΎΠ΅Π½Π°. ΠΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΠ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ β ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ. ΠΡΠΆΠ½ΠΎ Π»ΠΈΡΡ ΠΎΡΠΊΡΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΡΠ°Π·Π΄Π΅Π» Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ. ΠΠ±ΡΡΠ½ΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° ΠΈΠ»ΠΈ Π² ΡΠΊΡΡΡΡΡ Π·Π½Π°ΡΠΊΠ°Ρ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ.
ΠΠΎΡ ΡΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π²Π΅ΡΡΠΈΡ OpenGL Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ Intel
Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈΒ» Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°ΡΡ AMD ΡΠΎΠΆΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π΅ΡΡΠΈΡ OpenGL
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenGL Π½Π° ΡΠ°Π·Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ
ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ OpenGL Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ. Π ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΡΠΈΠΏΡΠ΅ΡΠ°, ΡΠ°ΠΊ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠΈΠ»ΠΈΡΡ Β«ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Β».
Π‘ΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AMD. ΠΠ° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΈΠΏ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΡΠ΅ΡΠΈΡ. ΠΠΎΡΠ»Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΡΠ½Π΅ΡΡΡ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. ΠΠΎ ΡΡΠΎΠΈΡ ΡΡΠΈΡΡΠ²Π°ΡΡ, ΡΡΠΎ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ, Π½ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΈΡ Π»ΠΈΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΈΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π½Π°ΠΏΡΡΠΌΡΡ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΈΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ ΡΠΎΡΡ.
ΠΠ° ΡΠ°ΠΉΡΠ΅ AMD ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΠ‘ Windows 7 ΠΈ 10
Intel
ΠΠ° ΡΠ°ΠΉΡΠ΅ ΡΠ΅Π½ΡΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Intel ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², Π²ΡΡΡΠ½ΡΡ ΠΈΡΠΊΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΌ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠΎΡΡΠΎΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΡΠΌΠΎΠΉ Π·Π°ΠΏΡΠΎΡ Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΈΠΊΠ΅ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΈΡΠΊΠ°ΡΡ Π΅Π΅ Π²ΡΡΡΠ½ΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΡΠ°Π²Π΄Π°, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠΉΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, Π½ΠΎ ΠΎΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ Π½Π΅Ρ. Π’Π°ΠΌ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠ΄Π΅ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ Intel
ΠΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Ρ Π¦Π΅Π½ΡΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΏΡΠΈΡΠ΅ΠΌ Π·Π΄Π΅ΡΡ Π΅ΡΡΡ ΡΠΈΠ»ΡΡΡ ΠΏΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ
NVIDIA GeForce
ΠΠ° ΡΠ°ΠΉΡΠ΅ NVIDIA ΠΏΠΎΠΈΡΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΡΠ΄Π° ΠΏΡΠΎΡΠ΅. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠΈΠΏ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π΅Π³ΠΎ ΡΠ΅ΡΠΈΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ·ΡΠΊ ΠΈ Π΄Π°ΠΆΠ΅ Π²ΠΈΠ΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°. ΠΡΡΡ Π΅ΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π° ΡΠΆΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°.
ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ NVIDIA ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°
ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ, Π±ΠΎΠ»Π΅Π΅ ΡΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² Windows 10 β ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Β«ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Β». ΠΡΠΊΡΡΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Win + X ΠΈ Π½Π°ΠΉΠ΄Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΌ ΠΌΠ΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠ½ΠΊΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Ρ ΠΎΡΠΊΡΠΎΡ Β«ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Β» ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΈΠΊΠΎΠ½ΠΊΠΈ Β«ΠΡΡΠΊΒ»
Π Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΎΡΠΊΡΡΠ²Π°Ρ ΡΠ°Π·Π΄Π΅Π» Β«ΠΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡΠ΅ΡΡΒ», ΠΆΠΌΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΏΠΎ Π½ΡΠΆΠ½ΠΎΠΌΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±ΠΈΡΠ°Ρ ΠΏΡΠ½ΠΊΡ Β«ΠΠ±Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΒ». Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΡΠ½Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.
ΠΠΌΡ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΏΠΎ Π½ΡΠΆΠ½ΠΎΠΌΡ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡΠ΅ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠ° ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°
ΠΠΎΠΏΡΡΡΠΈΠΌ Π΅ΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠ° OpenGL ΠΈΠ· ΡΠ΅ΡΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΡΠ°Π²Π΄Π°, ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΡΠ°Ρ ΠΈ ΡΠΈΡΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΡ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΠΉ ΠΈ ΠΏΠΎΠΌΠ΅Ρ .
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ±ΡΡΠ½ΠΎ OpenGL Π·Π°ΡΠ°Π½Π΅Π΅ Π±ΡΠ²Π°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΅Π΅ Π²Π΅ΡΡΠΈΠΈ ΠΈ Π½ΠΎΠ²ΠΈΠ·Π½Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΡΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΠΈΠ³ΡΠ°Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΠ, ΠΌΠΎΠΆΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ². ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΡΠ΅Π·Π°Π΅Ρ. ΠΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠ΅Π· Β«ΠΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Β» ΠΈΠ»ΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΊΠ°ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅ΡΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ.