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

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品自偷自拍无码| 久久水蜜桃亚洲av无码精品麻豆| 日韩亚洲不卡在线视频中文字幕在线观看| 无码AV片在线观看免费| 亚洲综合色一区二区三区小说| 67194成手机免费观看| 亚洲精品在线视频观看| 久草免费在线观看视频| 亚洲字幕在线观看| 无码视频免费一区二三区 | 午夜老司机免费视频| 亚洲啪AV永久无码精品放毛片| 拨牐拨牐x8免费| 精品亚洲成A人在线观看青青| 免费吃奶摸下激烈视频| 久久国产精品免费| 亚洲国产精品VA在线看黑人| 日本高清免费观看| 久久精品国产亚洲AV忘忧草18| 性xxxx视频播放免费| 国产亚洲精品仙踪林在线播放| 亚洲中文无韩国r级电影| 丁香花在线视频观看免费| 亚洲国产精品第一区二区| 无码国产精品一区二区免费I6| 久久水蜜桃亚洲AV无码精品| 亚洲毛片网址在线观看中文字幕| 3344在线看片免费| 亚洲精品第一国产综合野| 亚洲 小说区 图片区 都市| 黄色片免费在线观看| 久久精品亚洲AV久久久无码| 亚洲国产精品成人一区| 久久国产乱子伦精品免费一| 国产精品高清视亚洲一区二区 | 毛片免费视频观看| 国产大陆亚洲精品国产| 亚洲AV乱码久久精品蜜桃| 成年在线网站免费观看无广告| 国产免费黄色无码视频| 国产精品亚洲片夜色在线|