EDIT:GLSL compile mais ne liera pas
NVM ... J'ai trouvé l'erreur après un balayage ligne par ligne de ce shader ligne de 2000. Cela aurait dû être cassé pendant la compilation mais il est passé ... pourquoi? Il est littéralement une ligne qui est comme ça:
uv2.xy -= (someVec3Var.x * someFloatScale) + (anotherVec3Var2* anotherFloatScal);
Donc, fondamentalement, l'erreur est que le premier générerait un flotteur et il est ajouté à un vec3 et il est affecté à un vec2 .... Ce code fonctionne dans HSLSL :(
Je vois quelque chose de vraiment bizarre ... mes GLSL compiles mais quand il lie, il les plaintes pour mon shader fragment:
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"
je l'habitude d'avoir ces erreurs lors de la compilation et je fixé tous d'entre eux de telle sorte que tout est bon ... mais pourquoi seraient-ils apparaître dans le lien? T Ils se produisent également sur des lignes différentes que l'erreur de compilation qui se passait avant mon correctif. Pour quelle raison cela ne se produirait que pendant le temps de liaison? Est-ce que cela pourrait être dû au fait que j'ai des uniformes de même nom à travers le sommet et le fragment? J'ai lu quelque chose dans OpenGL ES, ils mapperaient à la même mémoire ... ce qui me convient car je veux qu'ils soient la même variable ... (sinon pourquoi les nommerais-je de la même manière?).
Merci!
Où est le code? –
C'est un shader de ligne 2000 ... lol devrais-je vraiment le mettre ici? – ChaoSXDemon
Non, "lol". Vous devriez plutôt faire un [MCVE] du problème. Réduisez-le à la quantité minimale de code qui reproduit ces erreurs. –