2013-02-23 49 views
1

背景故事:昨天,我和他一起視頻聊天(無論是Google還是視頻聊天),他向我展示了OPENGL ES在Android上開發遊戲的情況。我從他身上學到了OPENGL,並從昨天開始。頂點着色器和片段無法編譯,與主要衝突

谷歌在Opengl上的一些教程,得到了這個鏈接https://gamedev.stackexchange.com/questions/32876/good-resources-for-learning-modern-opengl-3-0-or-later,並按照wiki一節課直到本課:http://en.wikibooks.org/wiki/OpenGL_Programming/Modern_OpenGL_Tutorial_02它們從文件加載着色器和頂點。這是我遇到問題的地方。

編譯器不斷告訴我關於'main必須返回int'(新的std狀態,所以也許)的頂點和片段着色器文件 - 主要衝突,你如何解決這個問題?

注:我使用Qt

+0

從'main'的問題來看,這聽起來像你還沒有理解C/C++的一些基礎知識。沒有隔離一些代碼,就沒有辦法回答這個問題。 – 2013-02-23 17:19:40

+0

@BrettHale:他指的是GLSL着色器。他們的入口點也被稱爲main,但是,這不是問題。看我即將到來的答案。 – datenwolf 2013-02-23 20:33:53

回答

3

這聽起來像是你將你的着色器源文件由C++編譯器來編譯列表。 你不應該這樣做!

OpenGL着色器在運行時由OpenGL實現中包含的GLSL編譯器編譯。你有着色器的文件,它們只是普通的文本文件。您閱讀它們,將它們傳遞給OpenGL。在構建程序時不要處理它們。

+0

它現在工作。謝謝。出於某種奇怪的原因,Qt也編譯這兩個文件。 – 2013-02-24 05:31:51

+0

@DucHoDucHo:Qt沒有編譯任何東西。這是一個框架庫。你可能指的是Qt項目開發的IDE「Qt Creator」。 – datenwolf 2013-02-24 15:07:40

相關問題