我在這裏變得非常絕望。我使用Xcode,試圖在iPhone上實現一些OpenGL的東西。我必須爲Phong-Lighting編寫一個Shader。我儘可能地聲明瞭我的幾何(頂點,索引,計算等),並將各自的參數作爲屬性傳遞給着色器(用GLSL編寫)。使用這些屬性效果很好,一些真正的基礎着色器程序能夠正確編譯並提供預期的輸出。GLSL:iPhone應用程序無法訪問的內置屬性?
現在我試着從一些更高級的計算開始,爲此我需要使用GLSL的一些內置屬性,即「gl_NormalMatrix」,但每當我嘗試時,程序崩潰,我收到「錯誤:0:3:使用未聲明的標識符'gl_NormalMatrix'」。 無論何時使用任何內置屬性,例如gl_Vertex,gl_Normal等,它都會發生同樣的情況。
這些屬性在iPhone上的GLSL中不可用還是我錯過了某些內容?也許我還沒有完全理解它是如何工作的。如前所述,將我自己的頂點屬性傳遞給着色器效果很好,我也想知道程序應該如何「自己」「知道」正確的值 - 所以內置屬性的整個概念仍然有點混亂我。但是,無論何時我嘗試運行一些着色器時,我都會在網上發現它,看看是否發生了什麼,即使其他人似乎在編寫着色器時廣泛使用內置屬性,也會引發這些錯誤。
我真的很希望這裏有人能夠對此有所瞭解。千先謝謝!
Julia
謝謝,這的確有很大的意義。 – Julia
謝謝,我一直在尋找這些一段時間。 – sooon