• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            隨感而發(fā)

            雜七雜八

            統(tǒng)計(jì)

            留言簿(13)

            閱讀排行榜

            評(píng)論排行榜

            OpenGL學(xué)習(xí)筆記【3】——OpenGL學(xué)習(xí)起始框架

            今天學(xué)習(xí)了OpenGL的入門,了解了一下他的流程框架,具體什么什么直接操作硬件啊什么的OpenGL的資料就不講了,什么時(shí)候整理一下。直接進(jìn)入流程框架:

            我們用的glut輔助庫,他能讓我們減少好多的操作,例如創(chuàng)建窗口,初始化設(shè)備,他都為我們建好了。

            開始:

            1.初始化opengl

            2.設(shè)置渲染模式為:GLUT_DOUBLE | GLUT_RGBA

            3.設(shè)置窗口大小,和標(biāo)題,

            4.創(chuàng)建窗口,

            5.進(jìn)入Opnegl里面的初始化。Opengl里面的初始化這里的初始化一定要在創(chuàng)建窗口以后。

            6.設(shè)置渲染的函數(shù)

            7.設(shè)置變化窗口大小,調(diào)整視口的函數(shù)

            8.主程序循環(huán)。

            這就是程序的主框架,我們只要把這些內(nèi)容寫入到main函數(shù)中,然后再自己實(shí)現(xiàn)相關(guān)的函數(shù)就可以了。是不是給我們帶來了很大的方便呢。廢話少說。奉上源代碼:

            #include <gl\glut.h>

            void display(void)
            {
                glClear(GL_COLOR_BUFFER_BIT 
            | GL_DEPTH_BUFFER_BIT);    // 清楚顏色數(shù)據(jù)和深度數(shù)據(jù)(清屏)

                
                glBegin(GL_TRIANGLES);            
            //繪制一個(gè)三角型
                glColor3f(1.0,0,0);                //繪制顏色為紅色
                glVertex3f (00-2.0);        //繪制三角型的一個(gè)頂點(diǎn)0,0,-2
                glColor3f(0,1.0,0);                //同理繪制其他兩個(gè)頂點(diǎn)
                glVertex3f (11-2.0);
                glColor3f(
            0,0,1.0);    
                glVertex3f (
            10-2.0);
                glEnd();                    
            //結(jié)束繪制三角型

                glutSwapBuffers();            
            //交換緩沖區(qū)。顯示圖形
            }


            //初始化
            void init (void
            {
                glClearColor (
            1.00.00.00.0);    //清理顏色,為黑色,(也可認(rèn)為是背景顏色)
            }


            //當(dāng)窗口大小改變時(shí),會(huì)調(diào)用這個(gè)函數(shù)
            void reshape(GLsizei w,GLsizei h)
            {
                
            //這里小說明一下:矩陣模式是不同的,他們各自有一個(gè)矩陣。投影相關(guān)
                
            //只能用投影矩陣。(只是目前情況下哦,等我學(xué)多了可能就知道為什么了。)

                glViewport(
            0,0,w,h);        //設(shè)置視口
                glMatrixMode(GL_PROJECTION);    //設(shè)置矩陣模式為投影變換矩陣,
                glLoadIdentity();                //變?yōu)閱挝痪仃?/span>
                gluPerspective(60, (GLfloat)w / h, 01000);    //設(shè)置投影矩陣
                glMatrixMode(GL_MODELVIEW);        //設(shè)置矩陣模式為視圖矩陣(模型)
                glLoadIdentity();                //變?yōu)閱挝痪仃?/span>
            }



            int main(int argc, char** argv)
            {
                glutInit(
            &argc, argv);        //Opnegl初始化
                glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA); //設(shè)置顯示模式為雙緩沖,RGEBA

                glutInitWindowSize (
            250250);            //窗口大小
                glutInitWindowPosition (100100);        //窗口位置
                glutCreateWindow ("hello");                //創(chuàng)建一個(gè)標(biāo)題為hello的窗口
                init ();                                //初始化資源,這里一定要在創(chuàng)建窗口以后,不然會(huì)無效。
                glutDisplayFunc(display);                //窗口大小改變時(shí)的回調(diào)
                glutReshapeFunc(reshape);                //繪制圖形時(shí)的回調(diào)
                glutMainLoop();                            //主循環(huán)。
                return 0;  
            }
            在這里只是話了一個(gè)三角形。呵呵。

            posted on 2009-04-24 00:09 shongbee2 閱讀(2615) 評(píng)論(2)  編輯 收藏 引用 所屬分類: OpenGL

            評(píng)論

            # re: OpenGL學(xué)習(xí)筆記【3】——OpenGL學(xué)習(xí)起始框架 2009-05-11 20:10 OpenGL愛好者

            你能提供你所有源代碼工程的下載嗎??我怎么運(yùn)行你的代碼會(huì)出錯(cuò)呢?謝了  回復(fù)  更多評(píng)論   

            # re: OpenGL學(xué)習(xí)筆記【3】——OpenGL學(xué)習(xí)起始框架 2009-07-23 11:41 shongbee2

            有錯(cuò)誤是因?yàn)闆]有openGL的相關(guān)庫吧。把OpenGL相關(guān)的庫包含進(jìn)來就可以了。  回復(fù)  更多評(píng)論   

            99久久99久久精品免费看蜜桃| 亚洲乱码精品久久久久..| 99久久精品免费看国产一区二区三区| 国产精品欧美久久久天天影视 | 久久99精品久久久久久野外 | 久久久久久久综合日本亚洲 | 国产日产久久高清欧美一区| 久久精品一区二区国产| 99久久精品免费国产大片| 久久久久久国产精品无码下载| 国产午夜精品理论片久久影视| 久久久久18| 久久综合中文字幕| 国产精品久久久久久吹潮| 国产一区二区久久久| 久久精品国产一区二区| 久久精品午夜一区二区福利| 国产成人综合久久精品红| 久久国产美女免费观看精品| 日韩精品久久久久久| 一本久久知道综合久久| 狠狠色丁香久久婷婷综合蜜芽五月| AV色综合久久天堂AV色综合在| 日韩AV无码久久一区二区| 亚洲精品乱码久久久久久中文字幕| 国产999精品久久久久久| 国产精品99久久不卡| 久久久精品无码专区不卡| 久久无码专区国产精品发布| 蜜臀久久99精品久久久久久| 日本国产精品久久| 久久久精品人妻一区二区三区蜜桃 | 热久久最新网站获取| 久久99精品久久久久久hb无码| 亚洲va久久久噜噜噜久久| 国产午夜免费高清久久影院| 88久久精品无码一区二区毛片| 国产精品久久久久久久久久影院| 久久99国产综合精品免费| 日产久久强奸免费的看| 国产高潮久久免费观看|