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

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

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

    學海拾遺

    生活、技術、思想無處不在學習
    posts - 52, comments - 23, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    OpenGL in VC++

    Posted on 2008-01-19 00:30 tanzek 閱讀(549) 評論(1)  編輯  收藏
    首先看一個簡單的例子:
    ?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?}
    運行結果如下圖所示:
    FirstDemo.JPG

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

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

    評論

    # re: OpenGL in VC++  回復  更多評論   

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

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


    網站導航:
     
    主站蜘蛛池模板: 日本高清免费观看| 亚洲七七久久精品中文国产| 亚洲午夜福利精品久久| 午夜在线亚洲男人午在线| 在线精品免费视频| 夫妻免费无码V看片| 亚洲乱码中文论理电影| 一个人免费观看视频www| 亚洲人成电影网站久久| 麻豆成人精品国产免费| 亚洲人成自拍网站在线观看| 日本免费高清一本视频| 中文字幕亚洲日本岛国片| 日日摸夜夜添夜夜免费视频| 国产成人高清亚洲| 久久爰www免费人成| 亚洲精品第五页中文字幕| 免费观看无遮挡www的视频 | 亚洲人成人一区二区三区| 国产美女视频免费观看的网站 | www.亚洲色图.com| 久久久亚洲欧洲日产国码aⅴ| 7m凹凸精品分类大全免费| 久久久久se色偷偷亚洲精品av| 在线a毛片免费视频观看| 黄色一级免费网站| 国产成人精品日本亚洲| 无人视频免费观看免费视频| 在线亚洲人成电影网站色www| 华人在线精品免费观看| 亚洲熟妇无码AV在线播放| 99久久久国产精品免费蜜臀 | 深夜a级毛片免费无码| 亚洲精品无码专区在线在线播放| 日韩精品极品视频在线观看免费| 国产亚洲福利在线视频| 亚洲精品无码永久在线观看你懂的 | 亚洲国产av无码精品| 最近中文字幕国语免费完整 | 久久久久久毛片免费看 | 色窝窝亚洲AV网在线观看|