作者littleshan (我要加入劍道社!)
看板C_and_CPP
標題Re: [問題] openGL的建立shader失敗
時間Mon Jan 11 01:33:56 2010
※ 引述《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
推 oldriver:錯誤訊息第一條就是不認識'uniform' 我猜是整條都不認識 01/11 10:59
→ littleshan:你連 glCreateShader 都失敗,是要怎麼 compile shader 01/11 11:34
→ littleshan:不要跟我說你直接把 shader 原始碼餵給 gcc (抱頭) 01/11 11:34
推 Bencrie:雖然GLSL跟C/C++長很像但不代表他可以餵給C/C++ compiler 01/11 13:49
→ Bencrie:啊 <囧> 01/11 13:49