<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 閱讀(540) 評論(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()函數,就不需要定義這個參數.
    為什么?

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


    網站導航:
     
    主站蜘蛛池模板: 又粗又长又爽又长黄免费视频 | 午夜亚洲国产理论片二级港台二级| 无码人妻精品中文字幕免费| 亚洲人成无码网站| caoporm碰最新免费公开视频| 亚洲国产精品成人| 一级女人18片毛片免费视频| 亚洲国产精品自产在线播放| eeuss免费影院| 亚洲人成人无码网www电影首页| 国产一级a毛一级a看免费视频| 亚洲精品自在在线观看| 国产精品免费观看调教网| 久久综合亚洲鲁鲁五月天| 免费观看黄色的网站| 亚洲入口无毒网址你懂的| 性色av免费观看| 亚洲a无码综合a国产av中文| 亚洲AV网站在线观看| 国产免费久久精品丫丫| 亚洲av之男人的天堂网站| 18女人水真多免费高清毛片| 亚洲人成图片网站| 免费h成人黄漫画嘿咻破解版| 国产精品视频全国免费观看| 亚洲AV成人精品网站在线播放 | 亚洲色丰满少妇高潮18p| 国产精品四虎在线观看免费 | 国内精品久久久久影院免费| 亚洲精品美女久久久久9999| 在线不卡免费视频| 抽搐一进一出gif免费视频| 亚洲黄色在线观看视频| 免费鲁丝片一级在线观看| 亚洲免费在线观看| 亚洲国产高清美女在线观看 | 中国亚洲女人69内射少妇| 欧洲一级毛片免费| 日韩免费在线中文字幕| 亚洲今日精彩视频| 免费看男女下面日出水视频|