1 / 25

3D Game Programming Lab1- GLUT Programming

3D Game Programming Lab1- GLUT Programming. Ming-Te Chi Department of Computer Science  National Chengchi University. Outline. Code blocks 下載及安裝 Glut bin file 下載及配置 建立一個 glut 範例程式 Example[Bounce]. Code::Blocks 下載. 下載網址 http://www.codeblocks.org/. 點選 Download.

shelly
Download Presentation

3D Game Programming Lab1- GLUT Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D Game ProgrammingLab1- GLUT Programming Ming-Te Chi Department of Computer Science  National Chengchi University

  2. Outline • Code blocks下載及安裝 • Glut bin file下載及配置 • 建立一個glut範例程式 • Example[Bounce]

  3. Code::Blocks下載 • 下載網址 • http://www.codeblocks.org/

  4. 點選Download

  5. 點選 ”Download the binary release”

  6. 請依照所適用之OS作下載(在此僅以windows 系統做示範教學) 兩者選一點擊下載

  7. 安裝Code Blocks

  8. 依照內定

  9. 選擇安裝位置

  10. 執行Code Blocks

  11. Glut bin file下載及配置 • 下載網址 • http://www.xmission.com/~nate/glut.html

  12. Install glut • After you download and open the GLUT bin zip file Do the following! Copy glut32.dll to  c:\windows\system32 or c:\windows\SysWOW64 (win 64) Copy glut32.lib to  c:\program files\CodeBlocks\mingw\lib Copy glut.h to c:\program files\CodeBlocks\mingw\include\GL

  13. Freeglut( 另一個glut選擇 ) • http://files.transmissionzero.co.uk/software/development/GLUT/freeglut-MinGW.zip Copy freeglut.dll to  c:\windows\system32 or c:\windows\SysWOW64 (win 64) Copy libfreeglut.a to  c:\program files\CodeBlocks\mingw\lib Copy freeglut.h, freeglut_std.h, and freeglut_ext.h to c:\program files\CodeBlocks\mingw\include\GL

  14. 建立一個gluttemplate • File -> New -> Project

  15. 選擇GLUT • 為project命名

  16. 指定路徑至MinGW • 直接按下Finish

  17. 按下 (F9) to Build and run 則會出現以下執行畫面

  18. static void key(unsigned char key, int x, int y) { case '+': slices++; stacks++; case '-': if (slices>3 && stacks>3) { slices--; stacks--; } } //The number of geometry stacks and slices can be adjusted using the ‘+’ and ‘-’ keys.

  19. Troubleshooting in windows • add at line 18: #include <windows.h>

  20. 如果放對位置,但仍找不到glut.h • 請依下面流程,檢查路徑是否有你預期的一樣

  21. BOUNCE

  22. Example [Bounce] void glutTimerFunc (unsigned int msecs, void(*func)(int value), int value); Key Function *Registers a timer callback to be triggered in a specified number of milliseconds. • msecs:Number of milliseconds to pass before calling the callback. • func:The timer callback function. • value:Integer value to pass to the timer callback.

  23. Bounce animation • …

  24. void TimerFunction(int value) { // Reverse direction left 、right 、top 、bottom edge if(x1>windowWidth-rsize || x1<0) xstep=-xstep; if(y1>windowHeight-rsize || y1<0) ystep=-ystep; //Check bounds if(x1>windowWidth-rsize) x1=windowWidth-rsize-1; if(y1>windowHeight-rsize) y1=windowHeight-rsize-1; //Actually move the square x1+=xstep; y1+=ystep; //Redraw the scene with new coordinates glutPostRedisplay(); glutTimerFunc(33,TimerFunction,1); //self recall per 33msecs. }

  25. 參考教學網址: • http://www.codeblocks.org/ • http://www.xmission.com/~nate/glut.html • http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/ • http://www.opengl.org/sdk/docs/man/

More Related