2013/05/24

Visual Studio2010 用VC開發OpenGL

最近要開始寫OpenNI,開始來找一下如何用Visual Studio 2010設定VC環境
VC以前是獨立的產品,自從Visual Studio 2005就被整合在裡面

對於開發VC的程式經驗實在不多,所以來補足自己Know-how不足之處



首先,這篇主要是參考『在Visual C++開發OpenGL程式』,這篇主要在講解如何撰寫『OpenGL』的程式。仍有介紹到VC的一些設定環節,所以拿來參考用,順便實做


首先得將Glut.dll下載下來,下載完成後將資料解壓縮出來後
會有glut.dll、glut.h、glut.lib、glut32.dll和glut32.lib

我目前作業系統是W7 64bit,Visual Studio 2010企業版
那我VC所在位置是
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC



glut.dll和glut32.dll放到
C:\WINDOWS\system32


glut.lib及glut32.lib放到
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib

glut.h放到
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL

如果沒有GL可以自己建立,如果沒有建立include時候就直接Include glut.h就可以了


用完大概可以執行了,不過我還是會先看一下glut.h裡面的寫法


有興趣的人可以參考GL/gl.h和GL/glu.h裡面的寫法
或許會發現有趣的事情

接著在專案的屬性,將組態改成所有組態


點選連結器\輸入,在其他相依性新增
opengl32.lib;glut32.lib;


將以下程式碼貼到Cpp編譯就好了,請記得將#include "GL\glut.h"的改成'<',因為代碼套件沒辦法正常顯示的問題

#include "GL\glut.h"



void Display(void)

{

glPushMatrix();

glBegin (GL_TRIANGLES);          // 開始劃三角形

glColor3f (1.0f, 0.0f, 0.0f);         // 設定輸出色為紅色

glVertex2f (0.0f, 1.0f);           //(x1,y1)=(0, 1)

glColor3f (0.0f, 1.0f, 0.0f);         // 設定輸出色為綠色

glVertex2f (0.87f, -0.5f);            //(x2,y2)=(0.87,-0.5)

glColor3f (0.0f, 0.0f, 1.0f);         // 設定輸出色為藍色

glVertex2f (-0.87f, -0.5f);           //(x3,y3)=(-0.87,-0.5)

glEnd ();                               // 結束劃三角形

glPopMatrix();

glutSwapBuffers();

}



int main(int argc, char *argv[])

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);

glutInitWindowPosition(100, 100); // 設定視窗位置

glutInitWindowSize(400, 400); // 設定視窗大小

glutCreateWindow("Colorful Triangle "); // 設定視窗標題

glutDisplayFunc(Display);  // 呼叫函數

glutMainLoop();

return 0;

}




參考資料:
http://www.cc.ntu.edu.tw/chinese/epaper/0024/20130320_2410.html
http://mitblog.pixnet.net/blog/post/32805369
http://idaiwan.pixnet.net/blog/post/30789152
http://blog.sina.com.cn/s/blog_72824f680100ps4c.html
http://www.cnblogs.com/CoolPigs/archive/2012/01/17/2324839.html
http://zh.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B