[問題] openGL的建立shader失敗

看板C_and_CPP作者 (oldriver)時間14年前 (2010/01/10 22:21), 編輯推噓4(409)
留言13則, 3人參與, 最新討論串1/2 (看更多)
遇到的問題: (題意請描述清楚) 我最近在練習用openGL做Gooch的shader 但是找了幾個example來跑都沒辦法compiler出來 像是orange book的gooch.frag跟gooch.vert的引用一直失敗 一開始是GLEW出錯 我已經裝了GLUT跟GLEW的lib進去 GLUT project參數也加了-lglew32 但是GLEW方面一直link error 後來又找了沒引用glew的程式碼來compiler 又出現 `GL_VERTEX_SHADER' undeclared (first use this function) glCreateShader undecleared (first use this function)之類的 幾乎初始化shader的function裡面全部呼叫的都有問題 請問我的環境出了什麼問題 Windows XP Dev C++ 4.9.9.2 已安裝GLEW、GLUT 範例是參考這個網址 http://www.lighthouse3d.com/opengl/glsl 但是我連uniform vec3 lightDir; 變數宣告也失敗 -- 「放棄吧,戰士,這傷害輸出根本不是人類所能做到的」 「對啊,不要再固執了,除了魔女根本不可能辦到這種傷害」 「你們在說什麼啊,相信魔女的存在就等於放棄了思考啊,我絕對不會認同的」 戰士:「讓我來翻轉一下盾牌吧!」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.216.140.30

01/10 22:27, , 1F
有include glext.h嗎?? 另外, 在Windows平台上, 大部份
01/10 22:27, 1F

01/10 22:28, , 2F
GL的新feature都要自己用GetProcessAddress()取回函數指
01/10 22:28, 2F

01/10 22:29, , 3F
標, 如果沒透過GLEW這類人家幫你處理好的lib的話, 這一
01/10 22:29, 3F

01/10 22:29, , 4F
部份你要自己做, 不然shader相關的API全會找不到發error
01/10 22:29, 4F

01/10 22:32, , 5F
我並沒有引用glext.h 我找到的例子裡沒有,手動給他嗎
01/10 22:32, 5F

01/10 22:45, , 6F
我記得只需include glew.h阿
01/10 22:45, 6F

01/10 22:54, , 7F
glew應該算另外有其他人包裝整理好的, 理論上要透過它來
01/10 22:54, 7F

01/10 22:55, , 8F
進行一些初始化動作, 所以照原po說的glew出錯, 那shader
01/10 22:55, 8F

01/10 22:56, , 9F
相關API不能用正常的; 另外我看了一下VC2005與DevC++的
01/10 22:56, 9F

01/10 22:57, , 10F
gl.h, 的確都沒有較新的API與定義, 所以請去OpenGL官網
01/10 22:57, 10F

01/10 22:58, , 11F
找到glext.h放到該放的位置, 然後再照Tutorial的教學試
01/10 22:58, 11F

01/10 22:58, , 12F
試看@_@"
01/10 22:58, 12F

01/10 23:06, , 13F
http://0rz.tw/r9OhA 這篇回文部份有提到怎麼用:)
01/10 23:06, 13F
文章代碼(AID): #1BIUA40X (C_and_CPP)
文章代碼(AID): #1BIUA40X (C_and_CPP)