青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

關(guān)于OpenGl編程指南 第6版 第142頁 示例程序6-1 的運(yùn)行問題

        這個程序就編譯問題就花了我一個晚上的時間,很是郁悶,由于用的是 Visual Studio 2008,并且因?yàn)槲④泴penGL的支持只到1.1,1.1以后微軟就不再支持了,為什么,因?yàn)槲④浉氚l(fā)展自家的DirectX。所以如果想使用OpenGL1.1以上的功能或者函數(shù),只能使用OpenGL擴(kuò)展,這些擴(kuò)展是一些OpenGL團(tuán)體或個人開發(fā)出來的能Windows上使用的OpenGL1.1以后的一些功能及函數(shù)。所以,在Windows上根本就沒有什么OpenGL2.0的頭文件或庫文件了,OpenGL1.1以后的東西都已經(jīng)以擴(kuò)展的形式存在了,而且,并沒有一個統(tǒng)一的標(biāo)準(zhǔn)。
        網(wǎng)上關(guān)于這個解決的方法已經(jīng)有很多,其中一個是用glew庫,glew也是一個擴(kuò)展庫,包含了OpenGL中許多核心及擴(kuò)展函數(shù),可以到這里下載:   http://glew.sourceforge.net/                            
       先安裝,再按下面順序包含頭文件(glew.h在glut.h前)
#include <GL/glew.h>
#include <GL/glut.h>
      其中安裝了glew庫方法如下:
bin/glew32.dll     to     %SystemRoot%/system32
lib/glew32.lib     to     {VC Root}/Lib
include/GL/glew.h     to     {VC Root}/Include/GL
include/GL/wglew.h     to     {VC Root}/Include/GL


      

 GLenum err = glewInit() ;     
 
if (GLEW_OK != err)
 
{
     exit(
-2);
 }


上述都是簡單的問題,一直執(zhí)行到這里的時候程序編譯是通過了,但是發(fā)現(xiàn)出現(xiàn)另外一個問題,那就是,當(dāng)按下,a,s,r,m,x等鍵的時候完全沒有反應(yīng),于是我有查了一下,最后發(fā)現(xiàn)是由于沒有初始化glew的緣故,網(wǎng)上提供的通用方法是在init()函數(shù)調(diào)用之前先寫上如上幾行代碼:

然后偶很郁悶的發(fā)現(xiàn),編譯出現(xiàn)錯誤,這個地方也就是最神奇的地方,我試了很多次,都是提示錯誤,提示GLenum 標(biāo)示符聲明不合法什么的,嘗試了一個晚上后終于放棄,過了幾天,重新回來看的時候,又試了幾次,做的都是換湯不換藥的事情,并將上述代碼的 exit(-2) 換成 return 0 ,還有就是把初始化的代碼換了個位置,放到init()函數(shù)的里面的開始部分,運(yùn)行就OK了,不知道為什么出現(xiàn)這個問題,又換到以前的位置或是將 return 0 重新?lián)Q回 exit(-2) 運(yùn)行又是錯誤,鑒于這個問題的詭異性,相信大家或許沒遇到過,特此記錄下來,以供對后來可能會遇到的朋友們一個提示。也期待有哪位高人指點(diǎn)一下緣故?

 以下為最終運(yùn)行成功的代碼:



/**//*
   此程序有時成功有時失敗,只發(fā)現(xiàn)原因在于初始化glew的那幾句代碼的具體位置,具體緣由有待解決
*/
 

/**//*
 *  blendeqn.c
 *  Demonstrate the different blending functions available with the
 *  OpenGL imaging subset.  This program demonstrates use of the
 *  glBlendEquation() call.
 *
 *  The following keys change the selected blend equation function:
 *
 *      'a'  ->  GL_FUNC_ADD
 *      's'  ->  GL_FUNC_SUBTRACT
 *      'r'  ->  GL_FUNC_REVERSE_SUBTRACT
 *      'm'  ->  GL_MIN
 *      'x'  ->  GL_MAX
 
*/



#include 
<GL/glew.h>
#include 
<GL/glut.h>
#include 
<stdlib.h>

void init(void)
{

   GLenum err 
= glewInit() ;     
   
if (GLEW_OK != err)return 0;
   
/**//*上面兩行代碼很奇怪,加到主函數(shù)的init()函數(shù)前就不行,有時候又可以,此問題留待解決*/

   glClearColor(
1.01.00.00.0);

   glBlendFunc(GL_ONE, GL_ONE);
   glEnable(GL_BLEND);
}


void display(void)
{
   glClear(GL_COLOR_BUFFER_BIT);

   glColor3f(
0.00.01.0);
   glRectf(
-0.5,-0.5,0.5,0.5);

   glFlush();
}


void reshape(int w, int h)
{
   GLdouble aspect 
= (GLdouble) w / h;

   glViewport(
00, (GLsizei) w, (GLsizei) h);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   
if (aspect < 1.0{
     aspect 
= 1.0 / aspect;
     glOrtho(
-aspect, aspect, -1.01.0-1.01.0);
   }
 else
     glOrtho(
-1.01.0-aspect, aspect, -1.01.0);
   glMatrixMode(GL_MODELVIEW);
}


void keyboard(unsigned char key, int x, int y)
{
   
switch (key) {
      
case 'a'case 'A':
     
/**//* Colors are added as: (1, 1, 0) + (0, 0, 1) = (1, 1, 1)
      *  which will produce a white square on a yellow background.
      
*/

     glBlendEquation(GL_FUNC_ADD);
     
break;

      
case 's'case 'S':
     
/**//* Colors are subtracted as: (0, 0, 1) - (1, 1, 0) = (-1, -1, 1)
      *  which is clamped to (0, 0, 1), producing a blue square on a
      *  yellow background
      
*/
     glBlendEquation(GL_FUNC_SUBTRACT);
     
break;

      
case 'r'case 'R':
     
/**//* Colors are subtracted as: (1, 1, 0) - (0, 0, 1) = (1, 1, -1)
      *  which is clamed to (1, 1, 0).  This produces yellow for both
      *  the square and the background.
      
*/

     glBlendEquation(GL_FUNC_REVERSE_SUBTRACT);
     
break;

      
case 'm'case 'M':
     
/**//* The minimum of each component is computed, as
      *  [min(1, 0), min(1, 0), min(0, 1)] which equates to (0, 0, 0).
      *  This will produce a black square on the yellow background.
      
*/

     glBlendEquation(GL_MIN);
     
break;

      
case 'x'case 'X':
     
/**//* The minimum of each component is computed, as
      *  [max(1, 0), max(1, 0), max(0, 1)] which equates to (1, 1, 1)
      *  This will produce a white square on the yellow background.
      
*/

     glBlendEquation(GL_MAX);
     
break;

      
case 27:
         exit(
0);
   }

   
   glutPostRedisplay();
}


int main(int argc, char** argv)

   glutInit(
&argc, argv);
   glutInitDisplayMode(GLUT_SINGLE 
| GLUT_RGB);
   glutInitWindowSize(
512,512);
   glutInitWindowPosition(
100100);
   glutCreateWindow(argv[
0]);

   init();
   
   glutReshapeFunc(reshape);
   glutKeyboardFunc(keyboard);
   glutDisplayFunc(display);
   glutMainLoop();
   
return 0;
}



 

posted on 2010-02-14 21:37 蝸牛也Coding 閱讀(1126) 評論(3)  編輯 收藏 引用

評論

# re: 關(guān)于OpenGl編程指南 第6版 第142頁 示例程序6-1 的運(yùn)行問題 2010-02-27 15:53 philip

太好了
正為這個問題奇怪呢
感謝感謝  回復(fù)  更多評論   

# re: 關(guān)于OpenGl編程指南 第6版 第142頁 示例程序6-1 的運(yùn)行問題 2011-04-28 10:18 susan

Linking...
blendeqn.obj : error LNK2001: unresolved external symbol __imp__glewInit
blendeqn.obj : error LNK2001: unresolved external symbol __imp____glewBlendEquation
Debug/blendeqn.exe : fatal error LNK1120: 2 unresolved externals
執(zhí)行 link.exe 時出錯.
Creating browse info file...

我按你說的改了,還是不行啊,為什么?  回復(fù)  更多評論   

# re: 關(guān)于OpenGl編程指南 第6版 第142頁 示例程序6-1 的運(yùn)行問題 2011-04-28 10:38 susan

噢,想起來了,glew32.lib 在project setting 的links模塊下沒加上。  回復(fù)  更多評論   


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(8)

隨筆檔案(78)

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            9色精品在线| 亚洲高清影视| 国内成+人亚洲+欧美+综合在线| 亚洲欧美国产va在线影院| 久久精品欧洲| 91久久综合| 亚洲欧美日韩成人| 欧美国产精品久久| 国产日韩欧美综合精品| 最新国产乱人伦偷精品免费网站| 欧美好吊妞视频| 亚洲欧美另类综合偷拍| 欧美 日韩 国产精品免费观看| 亚洲高清资源综合久久精品| 蜜臀99久久精品久久久久久软件| 亚洲女性喷水在线观看一区| 国产亚洲欧洲| 99国产精品久久久| 久久久久高清| 一区二区三区四区五区精品视频| 国产精品丝袜久久久久久app | 欧美精品啪啪| 亚洲电影免费观看高清完整版在线观看| 卡通动漫国产精品| 午夜精品在线看| 欧美日韩国产一级片| 亚洲高清视频一区二区| 久久www成人_看片免费不卡| 久久午夜精品| 在线观看日韩欧美| 羞羞色国产精品| 一卡二卡3卡四卡高清精品视频| 欧美成人dvd在线视频| 狠狠色狠狠色综合| 久久精品国产v日韩v亚洲| 一区二区免费在线视频| 欧美日韩另类国产亚洲欧美一级| 久久精品夜色噜噜亚洲a∨| 亚洲一级片在线看| 欧美特黄一级大片| 一二三四社区欧美黄| 91久久夜色精品国产九色| 乱码第一页成人| 亚洲国产精品一区二区尤物区| 妖精视频成人观看www| 欧美私人啪啪vps| 亚洲一区二区在线看| 一本色道久久综合亚洲91| 欧美理论电影在线观看| 日韩一区二区久久| 亚洲日本一区二区| 欧美精品在线观看一区二区| 久久嫩草精品久久久精品| 久久精品1区| 亚洲电影天堂av| 亚洲国产精品成人| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲欧美日产图| aa成人免费视频| 国产欧美精品日韩精品| 久久国产一区| 久久久另类综合| 日韩视频精品| 亚洲一区二区三区乱码aⅴ蜜桃女| 99国产精品久久| 亚洲欧美日韩第一区| 国产一区二区三区高清播放| 亚洲一区免费网站| 国产精品亚洲精品| 老牛影视一区二区三区| 欧美激情第8页| 亚洲综合日韩中文字幕v在线| 亚洲成色最大综合在线| 亚洲区国产区| 99精品欧美一区二区三区| 国产精品色网| 暖暖成人免费视频| 欧美日韩一区在线| 久久久久在线| 欧美日韩一区二区精品| 久久精品女人的天堂av| 欧美高清视频一区二区三区在线观看| 欧美激情精品久久久久久免费印度| 亚洲国产高清aⅴ视频| 亚洲一区在线观看免费观看电影高清| 亚洲欧美日韩第一区| 欧美电影打屁股sp| 久久九九精品99国产精品| 欧美精品激情在线| 久久综合给合久久狠狠狠97色69| 亚洲电影免费观看高清完整版在线观看| 免费在线看一区| 久久精品人人| 国产精品毛片在线看| 欧美激情一区二区三级高清视频 | 国产一区二区三区四区五区美女 | 亚洲第一免费播放区| 亚洲少妇自拍| 日韩视频在线观看| 久久先锋影音av| 久久精品国产69国产精品亚洲 | 亚洲激精日韩激精欧美精品| 欧美日韩高清在线一区| 久久综合色综合88| 国产精品日韩欧美| 亚洲精品一区二区三| 亚洲国产精品久久精品怡红院| 欧美人与性禽动交情品| 美女精品网站| 欧美视频成人| 一本久道久久久| 99国产成+人+综合+亚洲欧美| 国产精品日产欧美久久久久| 免费视频亚洲| 91久久精品美女高潮| 91久久国产综合久久蜜月精品 | 国产精品扒开腿爽爽爽视频| 美女久久一区| 欧美高清不卡| 亚洲激情婷婷| 免费成人你懂的| 欧美成人黄色小视频| 黑丝一区二区| 久久久精品视频成人| 美女视频网站黄色亚洲| 在线观看三级视频欧美| 久久久免费观看视频| 欧美国产日韩xxxxx| 亚洲国产精品一区二区www在线 | 亚洲摸下面视频| 香蕉成人久久| 欧美在线观看视频| 国产九九精品视频| 亚洲欧美中文另类| 久久精品国产成人| 永久免费毛片在线播放不卡| 国产精品久久久久999| 亚洲欧美春色| 免费欧美在线视频| 91久久精品www人人做人人爽| 国模精品娜娜一二三区| 久热综合在线亚洲精品| 亚洲欧洲日韩女同| 亚洲最新在线| 国产精一区二区三区| 久久精品亚洲国产奇米99| 欧美激情第8页| 亚洲国产精品久久| 欧美午夜精品电影| 久久久久久久999| 日韩系列欧美系列| 久久九九精品| 亚洲最新色图| 国产午夜精品久久久| 欧美www在线| 午夜精品久久久久影视| 欧美成人黄色小视频| 亚洲一区二区三区免费观看| 一区二区三区欧美在线| 黑人极品videos精品欧美裸| 一区二区三区在线视频免费观看| 亚洲成人直播| 国产亚洲一区二区三区| 欧美成人亚洲成人日韩成人| 欧美日韩国产探花| 久久九九国产| 亚洲一级二级| 亚洲靠逼com| 蜜臀91精品一区二区三区| 亚洲一区二区三区成人在线视频精品| 一区二区三区久久网| 亚洲第一免费播放区| 国产精品日韩欧美一区二区三区| 国产亚洲一二三区| 欧美色视频一区| 麻豆精品精品国产自在97香蕉| 欧美大片在线影院| 麻豆精品精华液| 久久精品一区二区三区不卡牛牛 | 午夜精品在线| 一本色道久久综合亚洲精品不| 亚洲欧美日韩系列| 亚洲欧美成人| 在线视频一区观看| 欧美激情女人20p| 欧美大片专区| 午夜精品久久久久久久久| 亚洲精品欧美| 亚洲精品之草原avav久久| 一区二区三区在线免费视频| 在线亚洲电影| 亚洲专区国产精品| 中日韩在线视频| 一本久久精品一区二区| 亚洲啪啪91| 999在线观看精品免费不卡网站| 欧美一区二区三区的| 欧美一区二区视频在线观看| 亚洲第一在线| 欧美在线关看|