<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    學(xué)海拾遺

    生活、技術(shù)、思想無處不在學(xué)習(xí)
    posts - 52, comments - 23, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    OpenGL in VC++

    Posted on 2008-01-19 00:30 tanzek 閱讀(540) 評論(1)  編輯  收藏
    首先看一個(gè)簡單的例子:
    ?1?#include?<windows.h>
    ?2?#include?<math.h>
    ?3?#include?<gl/gl.h>
    ?4?#include?<gl/glu.h>
    ?5?#include?<gl/glaux.h>
    ?6?
    ?7?const?int?screenWidth?=?640;
    ?8?const?int?screenHeight?=?480;
    ?9?GLdouble?A,?B,?C,?D;
    10?
    11?void?myInit(void)
    12?{
    13?????glClearColor(1.0,?1.0,?1.0,?0.0);
    14?????glColor3f(0.0f,?0.0f,?0.0f);
    15?????glPointSize(2.0);
    16?????glMatrixMode(GL_PROJECTION);
    17?????glLoadIdentity();
    18?????gluOrtho2D(0.0,?(GLdouble)screenWidth,?0.0,?(GLdouble)screenHeight);
    19?????A?=?screenWidth?/?4.0;
    20?????B?=?0.0;
    21?????C?=?D?=?screenHeight?/?2.0;
    22?}
    23?
    24?void?myDisplay(void)
    25?{
    26?????glClear(GL_COLOR_BUFFER_BIT);
    27?????glBegin(GL_POINTS);
    28?????for(GLdouble?x=0;?x<4.0;?x+=0.005)
    29?????{
    30?????????GLdouble?func?=?exp(-x)?*?cos(2?*?3.14159265?*?x);
    31?????????glVertex2d(A?*?x?+?B,?C?*?func?+?D);
    32?????}
    33?????glEnd();
    34?????glFlush();
    35?}
    36?
    37?void?main(int?argc,?char**?argv)
    38?{
    39?????auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);?
    40?????auxInitPosition(0,?0,?500,?500);?
    41?????auxInitWindow("simple");?
    42?????myInit();
    43?????auxMainLoop((AUXMAINPROC)myDisplay);
    44?}
    運(yùn)行結(jié)果如下圖所示:
    FirstDemo.JPG

    在上面的例子,透露著一個(gè)簡單的OpenGL操作框架:
    void?main()
    {
    ???InitWindows();??
    //OpenGL中初始化窗口
    ???RegisterFunc(MyFunc);??//注冊回調(diào)函數(shù)
    ???MyInit();????//自定義初始化過程
    ???DoDraw();????//畫數(shù)部分
    }

    其實(shí)以上的例子來自于《計(jì)算機(jī)圖形學(xué)——用OpenGL實(shí)現(xiàn)(第2版)》的內(nèi)容,但是在原來的程序中,使用的是glut函數(shù),即來自于OpenGL的實(shí)用工具庫。但是在VC++中,并不自帶此輔助庫,但在它的輔助庫中,有相應(yīng)的aux函數(shù),因此,上例使用的都是輔助庫中的aux函數(shù)。

    評論

    # re: OpenGL in VC++  回復(fù)  更多評論   

    2008-04-08 19:12 by jcl_512
    請問: auxMainLoop((AUXMAINPROC)myDisplay);中的AUXMAINPROC
    是個(gè)什么類型的聲明?
    我要是用glut函數(shù)庫里的glutMainLoop()函數(shù),就不需要定義這個(gè)參數(shù).
    為什么?

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲一区二区三区高清不卡| 亚洲av无码不卡| 亚洲精品色婷婷在线影院| 91精品国产亚洲爽啪在线观看| 老司机午夜精品视频在线观看免费| 999久久久免费精品国产| 久久久无码精品亚洲日韩蜜臀浪潮 | 成人免费网站在线观看| 久久精品国产亚洲精品2020| 中文字幕免费在线播放| 亚洲五月午夜免费在线视频| 亚洲国产精品久久久久秋霞小 | 亚洲综合伊人久久大杳蕉| 精品国产日韩久久亚洲| 台湾一级毛片永久免费| 亚洲天堂中文字幕| 在线观看的免费网站无遮挡| 亚洲成AV人片在线观看| 国产精品免费高清在线观看| 亚洲中文字幕无码不卡电影| 国产在线国偷精品免费看| 亚洲一区二区视频在线观看| 亚洲欧美国产国产综合一区| 精品久久久久成人码免费动漫| 国产成人综合亚洲AV第一页| 亚洲黄片手机免费观看| 中文字幕亚洲乱码熟女一区二区| 亚洲精品无播放器在线播放 | 免费无码中文字幕A级毛片| 又粗又黄又猛又爽大片免费| 美女被吸屁股免费网站| 成年私人影院免费视频网站| 亚洲小说图片视频| 在线观看免费人成视频色9| 亚洲人精品亚洲人成在线| 亚洲一级毛片免费观看| 亚洲婷婷在线视频| 国产青草视频免费观看97| 午夜亚洲乱码伦小说区69堂| 亚洲欧洲日产国码高潮αv| 青青操免费在线视频|