close

參考書籍-OpenGL 3D繪圖互動程式設計


理論

openGL-(5個座標空間) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net)  

openGL-(正交投影&透視投影) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net) 


實作

openGL-建立茶壺(詳解) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net) 

openGL-建立清單(詳解) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net)

openGL-旋轉茶壺(詳解) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net)

openGL-鍵盤改變旋轉茶壺角度(詳解) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net)

openGL-特殊鍵更改背景顏色(詳解) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net)

openGL-滑鼠按下拖移旋轉茶壺(詳解) @ 奇怪的(´・ω・`)增加了的部落格 :: 痞客邦 :: (pixnet.net)


完整程式碼:(下面有介紹)

#include "GL/freeglut.h"
#include "GL/glut.h"
float backgroundGray=0.0f;

void My_Display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSwapBuffers();    
}

int main(int argc, char** argv)
{
    glutInit(&argc, argv);
        
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
    glutInitWindowPosition(100,100);
    glutInitWindowSize(600,600);
    glutCreateWindow("glut");
    glClearColor(backgroundGray, backgroundGray,backgroundGray,1.0f);
    
    glutDisplayFunc(My_Display);
    glutMainLoop();
    return 0;
}

 


glutInit(&argc, argv);

初始化GLUT函式庫。


glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);

初始化渲染模式。

GLUT_RGBA =選用RGBA視窗模式。

GLUT_DOUBLE =雙緩存。

GLUT_DEPTH=視窗擁有深度的緩窗器。


glutInitWindowPosition(100,100);

視窗顯示位置,左上角(0,0)。


glutInitWindowSize(600,600);

視窗大小。


glutCreateWindow("glut");

建立一個視窗,名稱為'glut'。


glClearColor(backgroundGray, backgroundGray,backgroundGray,1.0f);

設定清除畫面後所顯示的顏色。


glutDisplayFunc(My_Display);

寫入繪圖函式進GLUT。


glutMainLoop();

不斷運行視窗。


glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

清除顏色、深度緩存器。


glutSwapBuffers(); 

交互使用緩存器&後緩存器避免螢幕閃爍。
 


 

 

 

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()