Re: [問題] openGL的建立shader失敗

看板C_and_CPP作者 (我要加入劍道社!)時間14年前 (2010/01/11 01:33), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串2/2 (看更多)
※ 引述《oldriver (oldriver)》之銘言: : 遇到的問題: (題意請描述清楚) : 我最近在練習用openGL做Gooch的shader : 但是找了幾個example來跑都沒辦法compiler出來 : 像是orange book的gooch.frag跟gooch.vert的引用一直失敗 : 一開始是GLEW出錯 : 我已經裝了GLUT跟GLEW的lib進去 : GLUT project參數也加了-lglew32 : 但是GLEW方面一直link error glew 官方網站上的 binary 是給 VC 用的 gcc 要用的話得要自己編 最簡單的方法是直接抓 glew 的原始碼 然後把 glew.c 加入你的專案中 (是的 它只有一個檔案) : 後來又找了沒引用glew的程式碼來compiler : 又出現 `GL_VERTEX_SHADER' undeclared (first use this function) : glCreateShader undecleared (first use this function)之類的 : 幾乎初始化shader的function裡面全部呼叫的都有問題 推文有講 如果你不用 glew 那呼叫 glCreateShader 這些不在 OpenGL 1.1 標準內的函式 就必需用 wglGetProcAddress 去取得這些 function 的 pointer : 請問我的環境出了什麼問題 : Windows XP : Dev C++ 4.9.9.2 : 已安裝GLEW、GLUT : 範例是參考這個網址 : http://www.lighthouse3d.com/opengl/glsl : 但是我連uniform vec3 lightDir; : 變數宣告也失敗 變數宣告失敗? 看起來連 glCreateShader 都沒辦法了 怎麼知道變數宣告失敗? XDD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.88.34

01/11 10:59, , 1F
錯誤訊息第一條就是不認識'uniform' 我猜是整條都不認識
01/11 10:59, 1F

01/11 11:34, , 2F
你連 glCreateShader 都失敗,是要怎麼 compile shader
01/11 11:34, 2F

01/11 11:34, , 3F
不要跟我說你直接把 shader 原始碼餵給 gcc (抱頭)
01/11 11:34, 3F

01/11 13:49, , 4F
雖然GLSL跟C/C++長很像但不代表他可以餵給C/C++ compiler
01/11 13:49, 4F

01/11 13:49, , 5F
啊 <囧>
01/11 13:49, 5F
文章代碼(AID): #1BIW-6tz (C_and_CPP)
文章代碼(AID): #1BIW-6tz (C_and_CPP)