編輯:GLSL編譯但不會鏈接
NVM ...我發現在這個2000行着色器的逐行掃描後出現的錯誤。這應該在編譯期間破壞,但它通過了......爲什麼?它實際上是一種行是這樣的:
uv2.xy -= (someVec3Var.x * someFloatScale) + (anotherVec3Var2* anotherFloatScal);
所以基本上的錯誤是第一個將產生浮動並且將其添加到VEC3和它分配給VEC 2 ....這個代碼在HSLSL :(
我看到的東西很奇怪......我的GLSL編譯但是當它相連,它的投訴爲我的片段着色器:
0(1805) : error C7011: implicit cast from "vec3" to "vec2"
0(1805) : error C7011: implicit cast from "vec4" to "vec3"
0(1808) : error C7011: implicit cast from "vec3" to "vec2"
0(1808) : error C7011: implicit cast from "vec4" to "vec3"
我曾經有在編譯時和我這些錯誤修正了所有這些都是好的......但是爲什麼它們會顯示在鏈接中?這些也發生在我修復之前發生的編譯錯誤的不同行上。任何理由只會發生在鏈接時間?這可能是由於我有制服在頂點和片段上命名相同的事實嗎?我在OpenGL ES中讀了一些東西,他們會映射到相同的內存......這對我來說很好,因爲我希望它們是同一個變量......(否則爲什麼我會將它們命名爲相同?)。
謝謝!
代碼在哪裏? –
這是一個2000行着色器...大聲笑我應該真的把它放在這裏嗎? – ChaoSXDemon
不,「大聲笑」。您應該改爲解決問題的[MCVE]。將其減少到能夠再現這些錯誤的最小代碼量。 –