• <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>
            隨筆 - 29  文章 - 13  trackbacks - 0
            <2006年7月>
            2526272829301
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            常用鏈接

            留言簿(1)

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            相冊

            收藏夾

            c++

            Linux

            Tools

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            上一篇中我們繪制了一個彩色的三角型
            這次我們讓它動起來

            #include <GL/gl.h>
            #include <SDL/SDL.h>
            bool running=true;
            float y=0.0;

            void initGL()
            {
            ?? ?SDL_Init(SDL_INIT_VIDEO);
            ?? ?SDL_SetVideoMode(600,300,16,SDL_OPENGL);
            ?? ?
            }
            void destroyGL()
            {
            ?? ?SDL_Quit();
            }
            void draw()
            {
            ?? ?glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            ?? ?glRotatef(y,0,1,0);
            ?? ?glBegin(GL_TRIANGLES);
            ?? ??? ?glColor3f(1,0,0);
            ?? ??? ?glVertex3f(0,0,0);
            ?? ??? ?glColor3f(0,1,0);
            ?? ??? ?glVertex3f(1,0,0);
            ?? ??? ?glColor3f(0,0,1);
            ?? ??? ?glVertex3f(0,1,0);
            ?? ?glEnd();

            ?? ?SDL_GL_SwapBuffers();

            }
            void quit()
            {
            ?? ?running=false;
            }
            void onKeyDown(const SDL_Event& event)
            {
            ?? ?switch(event.key.keysym.sym)
            ?? ?{
            ?? ?case SDLK_ESCAPE:
            ?? ?quit();
            ?? ?break;
            ?? ?case SDLK_LEFT:
            ?? ?y+=0.1;
            ?? ?break;
            ?? ?case SDLK_RIGHT:
            ?? ?y-=0.1;
            ?? ?break;

            ?? ?
            ?? ?}
            }
            void loop()
            {
            ?? ?SDL_Event event;
            ?? ?while(running)
            ?? ?{
            ?? ??? ?while(SDL_PollEvent(&event))
            ?? ??? ?{
            ?? ??? ??? ?switch(event.type)
            ?? ??? ??? ?{
            ?? ??? ??? ?case SDL_QUIT:
            ?? ??? ??? ??? ?quit();
            ?? ??? ??? ?break;
            ?? ??? ??? ?case SDL_KEYDOWN:
            ?? ??? ??? ??? ?onKeyDown(event);
            ?? ??? ??? ?break;
            ?? ??? ??? ?}
            ?? ??? ?}
            ?? ??? ?draw();
            ?? ??? ?SDL_Delay(50);
            ?? ?}

            }
            int main(int argc,char* argv[])
            {
            ?? ?initGL();
            ?? ?loop();
            ?? ?destroyGL();?? ?
            ?? ?return 0;
            }
            #include <GL/gl.h>
            #include <SDL/SDL.h>
            bool running=true;
            float y=0.0;

            void initGL()
            {
            ??? SDL_Init(SDL_INIT_VIDEO);
            ??? SDL_SetVideoMode(600,300,16,SDL_OPENGL);
            ???
            }
            void destroyGL()
            {
            ??? SDL_Quit();
            }
            void draw()
            {
            ??? glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
            ??? glRotatef(y,0,1,0);
            ??? glBegin(GL_TRIANGLES);
            ??? ??? glColor3f(1,0,0);
            ??? ??? glVertex3f(0,0,0);
            ??? ??? glColor3f(0,1,0);
            ??? ??? glVertex3f(1,0,0);
            ??? ??? glColor3f(0,0,1);
            ??? ??? glVertex3f(0,1,0);
            ??? glEnd();

            ??? SDL_GL_SwapBuffers();

            }
            void quit()
            {
            ??? running=false;
            }
            void onKeyDown(const SDL_Event& event)
            {
            ??? switch(event.key.keysym.sym)
            ??? {
            ??? case SDLK_ESCAPE:
            ??? quit();
            ??? break;
            ??? case SDLK_LEFT:
            ??? y+=0.1;
            ??? break;
            ??? case SDLK_RIGHT:
            ??? y-=0.1;
            ??? break;

            ???
            ??? }
            }
            void loop()
            {
            ??? SDL_Event event;
            ??? while(running)
            ??? {
            ??? ??? while(SDL_PollEvent(&event))
            ??? ??? {
            ??? ??? ??? switch(event.type)
            ??? ??? ??? {
            ??? ??? ??? case SDL_QUIT:
            ??? ??? ??? ??? quit();
            ??? ??? ??? break;
            ??? ??? ??? case SDL_KEYDOWN:
            ??? ??? ??? ??? onKeyDown(event);
            ??? ??? ??? break;
            ??? ??? ??? }
            ??? ??? }
            ??? ??? draw();
            ??? ??? SDL_Delay(50);
            ??? }

            }
            int main(int argc,char* argv[])
            {
            ??? initGL();
            ??? loop();
            ??? destroyGL();???
            ??? return 0;
            }

            posted on 2006-09-28 16:46 四海 閱讀(548) 評論(0)  編輯 收藏 引用
            久久精品国产精品亚洲人人| 国产情侣久久久久aⅴ免费| 国产精品久久久久久久久鸭| 精品久久久久久国产潘金莲| 狠狠色丁香久久婷婷综合五月| 久久九九有精品国产23百花影院| 99久久国产综合精品五月天喷水| 国产叼嘿久久精品久久| 精品国产日韩久久亚洲| 新狼窝色AV性久久久久久| 国产99久久久国产精品~~牛| 亚洲国产成人乱码精品女人久久久不卡| 久久人与动人物a级毛片| 久久精品亚洲中文字幕无码麻豆| 国产亚州精品女人久久久久久 | av无码久久久久不卡免费网站| 91精品久久久久久无码| 亚洲国产精品一区二区久久hs| 久久这里只有精品久久| 思思久久精品在热线热| 韩国三级中文字幕hd久久精品| 久久婷婷国产综合精品 | 久久九色综合九色99伊人| 欧美噜噜久久久XXX| 色综合久久天天综线观看| 2021精品国产综合久久| 久久天天躁狠狠躁夜夜不卡| 久久久久久国产精品无码下载 | 久久久久亚洲AV无码专区首JN| 亚洲国产精品久久久久| avtt天堂网久久精品| 久久婷婷国产综合精品| 国产激情久久久久久熟女老人| 久久人人爽人爽人人爽av| 国产精品va久久久久久久| 久久国产高清字幕中文| 国产午夜精品理论片久久影视 | 久久久久久免费视频| 久久www免费人成看国产片 | 久久久久亚洲AV成人网人人网站| 久久精品国内一区二区三区|