![](https://habrastorage.org/web/c9e/9b2/a3b/c9e9b2a3baf749ab8e2b385c6d93d966.png)
ç«ã®äžã§èå³ãæã£ãŠãã ããã
å
容
ããŒã1.ã¯ããã«
ããŒã2.åºæ¬çãªç §æ
ããŒã3. 3Dã¢ãã«ãããŠã³ããŒããã
ããŒã4.é«åºŠãªOpenGLæ©èœ
ããŒã5.é«åºŠãªç §æ
- Opengl
- ãŠã£ã³ããŠäœæ
- ããã«ã¡ã¯ãŠã£ã³ããŠ
- ããã«ã¡ã¯ãã©ã€ã¢ã³ã°ã«
- ã·ã§ãŒããŒ
- ãã¯ã¹ãã£ãŒ
- å€æ
- 座æšç³»
- ã«ã¡ã©
ããŒã2.åºæ¬çãªç §æ
ããŒã3. 3Dã¢ãã«ãããŠã³ããŒããã
ããŒã4.é«åºŠãªOpenGLæ©èœ
- 深床ãã¹ã
- ã¹ãã³ã·ã«ãã¹ã
- è²æ··å
- é¡ã®ã¯ãªããã³ã°
- ãã¬ãŒã ãããã¡
- ãã¥ãŒããã¯ã«ãŒã
- é«åºŠãªããŒã¿åŠç
- é«åºŠãªGLSL
- 幟äœåŠã·ã§ãŒããŒ
- ã€ã³ã¹ã¿ã³ã¹å
- ã¹ã ãŒãžã³ã°
ããŒã5.é«åºŠãªç §æ
- é«åºŠãªç §æã Blinn-Fongã¢ãã«ã
- ã¬ã³ãè£æ£
- ã·ã£ããŠã«ãŒã
- å šæ¹åã·ã£ããŠããã
ããŒã1.2-ãŠã£ã³ããŠã®äœæ
é©ããããªã°ã©ãã£ãã¯ã®äœæãéå§ããåã«ããã®ã°ã©ãã£ãã¯ãæç»ããã³ã³ããã¹ããšã¢ããªã±ãŒã·ã§ã³ãŠã£ã³ããŠãäœæããå¿ èŠããããŸãã ããããæ®å¿µãªããããããã®æäœã¯åãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«åºæã®ãã®ã§ãããOpenGLã¯ãããã®æäœããæœè±¡åããããã«æåãå°œãããŠããŸãã ã€ãŸãããŠã£ã³ããŠãäœæããã³ã³ããã¹ããå®çŸ©ãããŠãŒã¶ãŒå ¥åãæäœããå¿ èŠããããŸãã
GLFW
GLFWã¯ãOpenGLã«ç»é¢ã«ã³ã³ãã³ããã¬ã³ããªã³ã°ããããã®å¿ é èŠçŽ ãæäŸããããã«ç¹å¥ã«èšèšãããCã§æžãããã©ã€ãã©ãªã§ãã ããã«ãããã³ã³ããã¹ãã®äœæããŠã£ã³ããŠãã©ã¡ãŒã¿ãŒã®å®çŸ©ããŠãŒã¶ãŒå ¥åã®æäœãå¯èœã«ãªããŸãããããä»å¿ èŠãªããšã§ãã
åºæ¬çã«ããã®ã¬ãã¹ã³ãšæ¬¡ã®ã¬ãã¹ã³ã§ã¯ãGLFWãæ£åžžã«åäœãããOpenGLã³ã³ããã¹ãã®äœæã®æ£ç¢ºæ§ã確èªããã°ã©ãã£ãã¯ãæç»ãããŠã£ã³ããŠãæç»ããŸãã ãã®ãã¥ãŒããªã¢ã«ã§ã¯ãGLFWã©ã€ãã©ãªã®ã¢ã»ã³ããªãšãªã³ã¯ã«ã€ããŠé ãè¿œã£ãŠèª¬æããŸãã ãã®ãã¥ãŒããªã¢ã«ã§ã¯ãMicrosoft Visual Studio 2012ã䜿çšããŸãïŒVSã®ä»ã®ããŒãžã§ã³ã§ãããã»ã¹ã¯ããã»ã©å€ãããªãããšã«æ³šæããŠãã ããïŒã VSã䜿çšããªãå Žåãå¿é ããªãã§ãã ããããã®ããã»ã¹ã¯ãã¹ãŠã®IDEã§éåžžã«äŒŒãŠããŸãã
GLFWã¢ã»ã³ããª
GLFW ã¯ãå ¬åŒWebãµã€ãã®ããŠã³ããŒãããŒãžããããŠã³ããŒãã§ããŸã ã GLFWã«ã¯ãVSçšã®ããªã³ã³ãã€ã«æžã¿ãã€ããªãšããããŒãã¡ã€ã«ãä»å±ããŠããŸãããå®å šãæãããã«ãGLFWãèªåã§ãã«ãããŸãã ããã§ã¯ããœãŒã¹ããã±ãŒãžãããŠã³ããŒãããŸãããã
ããªã³ã³ãã€ã«ããããã€ããªã䜿çšããå Žåã¯ãå¿ ã64ãããããŒãžã§ã³ã§ã¯ãªã32ãããããŒãžã§ã³ãããŠã³ããŒãããŠãã ããã ïŒéèŠãªéããããããªãå ŽåïŒã 64ãããããŒãžã§ã³ã¯ãã»ãšãã©ã®èªè ã«ãšã£ãŠããªãå¥åŠãªåäœãçæããããã§ãã
ããã±ãŒãžãããŠã³ããŒããããã解åããŸãã 次ã®èŠçŽ ã«èå³ããããŸãã
- ã³ã³ãã€ã«çµæ
- ãã©ã«ããŒãå«ãã
ãœãŒã¹ã³ãŒãããã©ã€ãã©ãªãã¢ã»ã³ãã«ãããšãçµæã®ã©ã€ãã©ãªãCPU / OSã§å®å šã«åäœããŸããããã¯ãæäŸãããŠããããªã³ã³ãã€ã«ã©ã€ãã©ãªã«ã€ããŠã¯èšããŸããïŒã·ã¹ãã ã§äœ¿çšã§ããªãå ŽåããããŸãïŒã ãœãŒã¹ã³ãŒããäžçã«æäŸããããšã®äž»ãªåé¡ã¯ã誰ããåãIDEã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ãéçºããããã§ã¯ãªãããšã§ããã€ãŸããProjectãã¡ã€ã«ã¯ä»ã®IDEãšäºææ§ããªãã ãã§ãã ãã®ããã人ã ã¯èªåã®ãããžã§ã¯ããæåã§çµã¿ç«ãŠãå¿ èŠããããŸãããããã¯æããã«ããŸã䟿å©ã§ã¯ãããŸããã ç¹ã«ãã®åé¡ãåé¿ããããã«ãCMakeãçºæãããŸããã
CMake
CMakeã¯ããœãŒã¹ã³ãŒããšCMakeã¹ã¯ãªããã®ã»ãããããŠãŒã¶ãŒïŒVisual Studioãã³ãŒã::ãããã¯ãEclipseïŒã«ãã£ãŠéžæãããIDEã®ãããžã§ã¯ã/ãœãªã¥ãŒã·ã§ã³ãã¡ã€ã«ãçæããããã®ããŒã«ã§ãã ãã®æ§æã«ãããVisual Studio 2012ãããžã§ã¯ããã¡ã€ã«ãçæã§ãããããã©ã€ãã©ãªãç°¡åã«æ§ç¯ã§ããŸãã æåã«CMakeãããŠã³ããŒãããå¿ èŠããããŸã ãããã¯ããŠã³ããŒãããŒãžã§è¡ããŸã ã Win32ã€ã³ã¹ããŒã©ãŒã䜿çšããŠããŸãã
CMakeãã€ã³ã¹ããŒã«ããããã³ã³ãœãŒã«ããããŸãã¯ã°ã©ãã£ã«ã«ã¢ããªã±ãŒã·ã§ã³ãšããŠCMakeãèµ·åã§ããŸãã ã¬ãã¹ã³ãéè² è·ã«ãªããªãããã«ãããããã°ã©ãã£ã«ã«ã¢ããªã±ãŒã·ã§ã³ãéžæããŸãã CMakeã§ã¯ããœãŒã¹ã³ãŒããå«ããã£ã¬ã¯ããªãšãçµæããã€ããªãã¡ã€ã«ã®åœ¢åŒã§æžã蟌ãŸãããã©ã«ããŒãæå®ããå¿ èŠããããŸãã ãœãŒã¹ãã£ã¬ã¯ããªãšããŠã解åãããGLFWããã±ãŒãžã®ã«ãŒããã©ã«ããŒããœãŒã¹ã³ãŒãã§æå®ãããã€ããªãã¡ã€ã«ã®ãã©ã«ããŒãšããŠæ°ãã<buildãã£ã¬ã¯ããªãæå®ããŸãã
![](https://habrastorage.org/files/c6e/e02/104/c6ee0210443c4119b4b91dba6678dd03.png)
å¿ èŠãªãã£ã¬ã¯ããªãã€ã³ã¹ããŒã«ãããã[ æ§æ ]ãã¯ãªãã¯ããŠãCMakeãå¿ èŠãªèšå®ãšãœãŒã¹ã³ãŒããèªã¿åãããã«ããŸãã 次ã«ããããžã§ã¯ãã®ãžã§ãã¬ãŒã¿ãŒãéžæããå¿ èŠããããŸãã Visual Studio 2012ã䜿çšãããããVisual Studio 11ãéžæããŸãïŒVisual Studio 2012ã¯Visual Studio 11ãšãåŒã°ããŸãïŒã 次ã«ãCMakeãå¯èœãªãã«ãèšå®ã衚瀺ããŸããããäžåºŠ[ æ§æ ]ãã¯ãªãã¯ããŠä¿åããããšã§ãå€æŽããªãã§ããããšãã§ããŸãã èšå®ãä¿åããåŸããããžã§ã¯ãã®çæã«é²ãããšãã§ããŸãããã®ããã çæãã¯ãªãã¯ãããšããããžã§ã¯ããã¡ã€ã«ããã«ããã©ã«ããŒã«äœæãããŸãã
ç·šé
GLFW.slnãã¡ã€ã«ããã«ããã©ã«ããŒã«è¡šç€ºãããã®ã§ãVisual Studioã§éããŸãã CMakeã¯ãå¿ èŠãªãã¹ãŠã®èšå®ã䜿çšããŠãããžã§ã¯ããçæããå¿ èŠããã£ãããã ãã«ããœãªã¥ãŒã·ã§ã³ãã¯ãªãã¯ããŠãã«ããéå§ãããšã src / Debugãã©ã«ããŒã«glfw3.lib ïŒããŒãžã§ã³3ã䜿çšïŒã衚瀺ããã
ã©ã€ãã©ãªãçæãããããIDEãã©ã€ãã©ãªãšããããŒãã¡ã€ã«ãæ¢ãå ŽæãèªèããŠããããšã確èªããå¿ èŠããããŸãã ãããè¡ãã«ã¯2ã€ã®æ¹æ³ããããŸãã
- IDEãŸãã¯ã³ã³ãã€ã©ã®/ libããã³/ includeãã©ã«ããŒãæ¢ããããã«GLFWããincludeããã³libãã©ã«ããŒãè¿œå ããŸã ã ããã¯æ©èœããŸãããããããªãæ¹ãè¯ãã§ãã ãã®æ¹æ³ã¯è¿œè·¡ãé£ãããã³ã³ãã€ã©/ IDEãåã€ã³ã¹ããŒã«ãŸãã¯å€æŽãããšããã¹ãŠã®ãã¡ã€ã«ã倱ãããŸãã
- æšå¥šãããæ¹æ³ã¯ãIDEãŸãã¯ã³ã³ãã€ã©ã䜿çšãããšãã«é£çµ¡ã§ããããµãŒãããŒãã£ã®ãã¹ãŠã®ããããŒãã¡ã€ã«ãšã©ã€ãã©ãªãå«ããã£ã¬ã¯ããªã®ã»ãããäœæããããšã§ãã å人çã«ã¯ãOpenGLãããžã§ã¯ãã®ãã¹ãŠã®ããããŒãã¡ã€ã«ãšã©ã€ãã©ãªãä¿åããLibsãã©ã«ããŒãšIncludeãã©ã«ããŒãå«ãåäžã®ãã©ã«ããŒã䜿çšããŸãã ããã§ããã¹ãŠã®ãµãŒãããŒãã£ã©ã€ãã©ãªã1ãæã«éããããŸããïŒç°ãªãPCéã§ç°¡åã«ç§»åã§ããŸãïŒã å¯äžã®æ¬ ç¹ã¯ãæ°ãããããžã§ã¯ãããšã«ãã®ãã©ã«ããŒã®å Žæã瀺ãå¿ èŠãããããšã§ãã
éžæããã¢ã¯ã·ã§ã³ãå®äºããããGLFWã䜿çšããæåã®OpenGLãããžã§ã¯ãã®äœæã«é²ãããšãã§ããŸãã
ç§ãã¡ã®æåã®ãããžã§ã¯ã
ãŸããVisual StudioãéããŠæ°ãããããžã§ã¯ããäœæããŸãããã Visual C ++ãšç©ºã®ãããžã§ã¯ããéžæããŸãïŒãããžã§ã¯ãã«é©åãªååãä»ããããšãå¿ããªãã§ãã ããïŒã ããã§ãOpenGLã䜿çšããŠæåã®ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®ã¯ãŒã¯ã¹ããŒã¹ãã§ããŸããã
ãªã³ã¯
GLFWã䜿çšããã«ã¯ããããžã§ã¯ãã«é¢é£ä»ããå¿ èŠããããŸãã ããã¯ããªã³ã«ãŒèšå®ã§glfw3.libã䜿çšããããšã瀺ãããšã§è¡ãããŸããããããžã§ã¯ãã§ã¯ãŸã glfw3.libãæ¢ãå ŽæãããããŸããïŒã©ã€ãã©ãªãã¡ã€ã«ã®å Žæã®åé¡ã解決ãããšãã«1ã€ã®ãªãã·ã§ã³ãéžæããªãã£ãå ŽåïŒããããã£ãŠãè¿œå ããå¿ èŠããããŸããããžã§ã¯ãå ã®ãããã®ãã£ã¬ã¯ããªã
以äžã®ç»åã«ç€ºãããã«ããããã®ãã£ã¬ã¯ããªãè¿œå ãã VC ++ Directoriesã«ç§»åããŸãã
![](https://habrastorage.org/files/d72/d0d/51e/d72d0d51e34449b6ab637c7bcdc7f402.png)
ãŸããããããç¬èªã®ãã£ã¬ã¯ããªãè¿œå ããŠããããžã§ã¯ããå¿ èŠãªãã¡ã€ã«ãæ¢ãå Žæãç¥ãããšãã§ããŸãã ãããæåã§è¡ãã«ã¯ããã¹ãããã¹ããã£ãŒã«ãã«è²Œãä»ãããã[ ç·šé... ]ãã¯ãªãã¯ããŠãç¹å¥ãªãŠã£ã³ããŠã«å€ãè¿œå ããŸãã
![](https://habrastorage.org/files/ff5/707/86b/ff570786b59e408fa6855f35e442c1d9.png)
ããã§ã奜ããªã ããã£ã¬ã¯ããªãè¿œå ã§ããŸããIDEã¯å¿ èŠãªãã¡ã€ã«ãæ€çŽ¢ããŸãã ç°å¢ã«Includeãã©ã«ããŒãæå®ãããã®ã§ãå¿ èŠãªãã¹ãŠã®GLFWããããŒãã¡ã€ã«ã<GLFW / ..>ã§èŠã€ããããšãã§ããŸãã ã©ã€ãã©ãªãã£ã¬ã¯ããªã«ãåãããšãåœãŠã¯ãŸããŸãã
Visual Studioãå¿ èŠãªã©ã€ãã©ãªãæ¢ãå ŽæãèŠã€ããåŸãæçµçã«GLFWãšãããžã§ã¯ãããªã³ã¯ã§ããŸãã
![](https://habrastorage.org/files/789/921/866/78992186600d4ee5a9f1979a7ef5292d.png)
ããã§ã¯ããªã³ã¯ããã©ã€ãã©ãªã®ååãæå®ããå¿ èŠããããŸãããã®å Žåã¯glfw3.libã§ããã Additional Dependenciesãã£ãŒã«ãã«è¿œå ããŸãïŒããã¯æåãŸãã¯<Edit ...>ãã¿ã³ã䜿çšããŠè¡ãããšãã§ããŸãïŒãGLFWã¯ã³ã³ãã€ã«äžã«ãããžã§ã¯ãã«ãªã³ã¯ãããŸãã OpenGLã©ã€ãã©ãªãæå®ããããšãå¿ èŠã§ããããã®ããã»ã¹ã¯OSã«ãã£ãŠç°ãªããŸãã
WindowsçšOpenGLã©ã€ãã©ãª
Windowsã䜿çšããå Žåã opengl32.libãšããã©ã€ãã©ãªã«Microsoft SDKãä»å±ããŸããMicrosoftSDKã¯ãVisual Studioã®ã€ã³ã¹ããŒã«æã«ããã©ã«ãã§ã€ã³ã¹ããŒã«ãããŸãã ãã®ãã¥ãŒããªã¢ã«ã§ã¯ãã§ã«Visual Studioã䜿çšããŠãããããããã§ãªã³ã«ãŒèšå®ã«opengl32.libãè¿œå ããã ãã§ååã§ãã
LinuxçšOpenGLã©ã€ãã©ãª
Linuxã·ã¹ãã ã§ã¯ããªã³ã«ãŒèšå®ã§-lGLãã©ã°ã䜿çšããŠlibGL.soã©ã€ãã©ãªã䜿çšããå¿ èŠããããŸãã ãã®ã©ã€ãã©ãªãèŠã€ãããªãå Žåã¯ãããããMesaãNVidiaããŸãã¯AMD devããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããããã©ãããã©ãŒã ã«éåžžã«åºæãªã®ã§ïŒLinuxã®å°é家ã§ã¯ãããŸããïŒã詳现ã«ã¯è§ŠããŸããã
GLFWããã³OpenGLã©ã€ãã©ãªããªã³ã«ãŒèšå®ã«è¿œå ããåŸãGLFWã次ã®ããã«æ¥ç¶ã§ããŸãã
#include <GLFW\glfw3.h>
ããã¯ãOpenGLã®ã€ã³ã¹ããŒã«ãšæ§æã®æåŸã®æé ã§ãã
ã°ãªã¥ãŒ
ãã ããOpenGLã®ã»ããã¢ããã¯å®äºããŠããŸããã ä»ã«ããããšã OpenGLã¯åãªãä»æ§ã§ãããããå®è£ ã¯ãããªã«ãŒãéçºè ã®è©ã«ããã£ãŠããŸãã ãã®ãããOpenGLã«ã¯å€ãã®å®è£ ããããããOpenGLé¢æ°ã®å®éã®å Žæã¯ã³ã³ãã€ã«æ®µéã§ã¯å©çšã§ãããå®è¡æã«ååŸããå¿ èŠããããŸãã å®éãé¢æ°ã®ã¢ãã¬ã¹ãååŸããããšã¯ããã°ã©ããŒã«ããã£ãŠããŸãã ã¢ãã¬ã¹ãååŸããããã»ã¹ã¯åãã©ãããã©ãŒã ã«åºæã§ãããWindowsã®å Žåã¯æ¬¡ã®ããã«ãªããŸãã
// typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*); // GL_GENBUFFERS glGenBuffers = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers"); // GLuint buffer; glGenBuffers(1, &buffer);
ã芧ã®ãšãããã³ãŒãã¯ããæ··ä¹±ããŠããããã«èŠããŸãããŸããåOpenGLé¢æ°ã®ã¢ãã¬ã¹ãååŸããå¿ èŠãããããããã®ããã»ã¹ã¯éåžžã«èŠçã§ãã ããã幞ããªããšã«ããã®åçãªã³ã¯ãå®è£ ããã©ã€ãã©ãªããããæã人æ°ã®ããã©ã€ãã©ãªã®1ã€ã¯GLEWã§ãã
ã¢ã»ã³ããªãšãªã³ã¯GLEW
GLEWã¯OpenGL Extension Wrangler Libraryã®ç¥ã§ãäžèšã®é¢åãªäœæ¥ããã¹ãŠç®¡çããŠããŸãã GLEWãã©ã€ãã©ãªã§ãããããåã³åéãããããžã§ã¯ãã«ãªã³ã¯ããå¿ èŠããããŸãã GLEWã¯å ¬åŒããŒãžããããŠã³ããŒãã§ããŸã ãããã§ã¯ãããªã³ã³ãã€ã«ãããã©ã€ãã©ãªãšãœãŒã¹ã³ãŒãã®äž¡æ¹ãèŠã€ãããŸãã ç¹°ãè¿ããŸããã䜿çšãããããã¬ãŒããäžæãªå Žåã¯ã32ãããããŒãžã§ã³ã䜿çšããŠãã ããã
glew32s.libãšåŒã°ããGLEWã® éçããŒãžã§ã³ã䜿çšããŸã ïŒãã¬ãã£ãã¯ã¹ `s`ã«æ³šæããŠãã ããïŒã ãããã£ãŠããããã©ã€ãã©ãªãã©ã«ããŒã«è¿œå ããããããŒãã¡ã€ã«ãå«ããã©ã«ããŒã«ããããŒãã¡ã€ã«ãè¿œå ããŸãã ããã§ãVisual Studioã®ãªã³ã«ãŒèšå®ã«glew32s.libãè¿œå ããŠã GLEWããããžã§ã¯ãã«ãªã³ã¯ã§ããŸãã GLFW3ã¯ããã©ã«ãã§éçã©ã€ãã©ãªãšããŠãã«ããããããšã«æ³šæããŠãã ããã
éçãªã³ã¯ãšã¯ãã³ã³ãã€ã«æã«ã©ã€ãã©ãªãå®è¡å¯èœãã¡ã€ã«ãšçµ±åãããããšãæå³ããŸãã ãã®ã¢ãããŒãã®å©ç¹ã¯ãå®è¡å¯èœãã¡ã€ã«ä»¥å€ã®è¿œå ãã¡ã€ã«ãç£èŠããå¿ èŠããªãããšã§ãã ãã®ã¢ãããŒãã®æ¬ ç¹ã¯ãå®è¡å¯èœãã¡ã€ã«ã®ãµã€ãºã倧ãããªãããšãšãã©ã€ãã©ãªãæŽæ°ãããšãã«å®è¡å¯èœãã¡ã€ã«ãåæ§ç¯ããªããã°ãªããªãããšã§ãã
ãã€ãããã¯ãªã³ã¯ã¯ã.dllããã³.soãã¡ã€ã«ãä»ããŠè¡ãããã©ã€ãã©ãªã³ãŒããšã¢ããªã±ãŒã·ã§ã³ã³ãŒããåé¢ããå®è¡å¯èœãã¡ã€ã«ã®ãµã€ãºãçž®å°ããã©ã€ãã©ãªã®æŽæ°ãç°¡çŽ åããŸãã ãã®ã¢ãããŒãã®æ¬ ç¹ã¯ãæçµçãªã¢ããªã±ãŒã·ã§ã³ãšãšãã«DLLãã¡ã€ã«ããªãªãŒã¹ããå¿ èŠããããšããäºå®ã§ãã
GLEWãéçã©ã€ãã©ãªãšããŠäœ¿çšããå Žåã¯ã GLEWãæ¥ç¶ããåã«GLEW_STATICããªããã»ããµå€æ°ãèšå®ããå¿ èŠããããŸãã
#define GLEW_STATIC #include <GL/glew.h>
åçãªã³ã¯ãå¿ èŠãªå Žåã¯ãGLEW_STATICããªããã»ããµå€æ°ã®ã¿ã¹ã¯ãçç¥ã§ããŸãã ãã€ãããã¯ãªã³ã¯ã䜿çšããå Žåã¯ã.DLLãã¡ã€ã«ãå®è¡å¯èœãã¡ã€ã«ã®ãããã©ã«ããŒã«ã³ããŒããå¿ èŠãããããšã«æ³šæããŠãã ããã
GCCã䜿çšããŠãããžã§ã¯ããæ§ç¯ããLinuxãŠãŒã¶ãŒã®å Žåã次ã®ããŒãã¢ã»ã³ããªã«åœ¹ç«ã¡ãŸãã
-lGLEW -lglfw3 -lGL -lX11 -lpthread -lXrandr -lXiã
ãããã®ããŒã®èª€çšã¯ãå€ãã®æªå®çŸ©ã®åäœã«ã€ãªããå¯èœæ§ããããŸãã
GLFWãšGLEWãæçµçã«ã¢ã»ã³ãã«ããã³ãªã³ã¯ããã®ã§ã次ã®ã¬ãã¹ã³ã§GLFWãšGLEWã䜿çšããŠOpenGLã³ã³ããã¹ããæ§æãããŠã£ã³ããŠãäœæããæ¹æ³ã«ã€ããŠèª¬æããŸãã ããããŒãã¡ã€ã«ãšã©ã€ãã©ãªãã¡ã€ã«ãå«ããã£ã¬ã¯ããªãæ£ããæå®ãããŠããããšãããã³ãªã³ã«ãŒèšå®ã®ã©ã€ãã©ãªåã«ãšã©ãŒããªãããšã確èªããŠãã ããã ç«ã¡åŸçããŠããå Žåã¯ãå ã®èšäºãŸãã¯ä»ã®ãœãŒã¹ã®ã³ã¡ã³ãã確èªããŠãã ãããç¹å®ã®ééããç¯ããå¯èœæ§ããããŸãã
è¿œå ã®ãªãœãŒã¹
- ã¢ããªã±ãŒã·ã§ã³ã¢ã»ã³ã㪠ïŒå€æ°ã®ç°ãªããšã©ãŒãçºçããå¯èœæ§ãããã¢ããªã±ãŒã·ã§ã³ããªã³ã¯ããã³ã³ã³ãã€ã«ããããã»ã¹ã«é¢ãã詳现æ å ±ãæäŸããŸãã
- ã³ãŒãä»ãGLFW ::ãããã¯ ïŒ ã³ãŒãã§GLFWãäœæ ::ãããã¯IDE;
- CMakeã®èµ·å ïŒWindowsããã³Linuxã§CMakeãå®è¡ããããšã«é¢ããå°ããªã¬ãã¹ã³ã
- Linuxçšã®ã¢ã»ã³ããªã·ã¹ãã ã®äœæ ïŒWouter Verholdsã®autotoolsãã¥ãŒããªã¢ã«ããããã®ã¬ãã¹ã³çšã«ç¹å¥ã«æ§æãããLinuxã§ã®ã¢ã»ã³ããªã·ã¹ãã ã®äœæããã»ã¹ã«ã€ããŠèª¬æããŠããŸãã
- Polytonic / Glitter ïŒå¿ èŠãªãã¹ãŠã®ã©ã€ãã©ãªãäºåèšå®ãããã·ã³ãã«ãªãã³ãã¬ãŒããããžã§ã¯ãã å®å šã«æ©èœããLearnOpenGLãããžã§ã¯ãã®äŸãã芧ã«ãªãããå Žåã«æé©ã§ãã