J'ai une question concernant le pipeline de rendu OpenGL.Quelle couleur obtient un fragment s'il y a deux sommets à la même position avec deux couleurs différentes?
J'ai récemment lu une théorie sur le Shader de géométrie du GLSL. Je pense que je comprends les bases de la façon d'émettre une nouvelle géométrie et d'assigner des couleurs aux nouveaux sommets. Je ne suis cependant pas sûr de la couleur d'un fragment si l'un de ces nouveaux sommets avait exactement la même position que celui d'un shader Vertex. Je considère cet exemple: Si je comprends bien, je suis capable de gérer un seul sommet avec le shader Vertex. Je fais une transformation et stocke la position dans glPosition. Il est en outre possible d'attribuer une couleur à ce sommet, par ex. en le stockant dans glFrontColor. À titre d'exemple, je lui donne la couleur rouge. Si tous les canaux ont 32 bits, ce serait 0xFFFFFFFF'00000000'00000000'00000000, non? Ensuite, le geometry shader est impliqué. Je veux que mon shader de géométrie émette des sommets supplémentaires. Au moins l'un d'entre eux est à la même position que le sommet originel venant du shader Vertex. Cependant, une autre couleur lui est affectée, par ex. vert. Ce serait 0x00000000'FFFFFFFF'00000000'00000000, non? Tôt ou tard, après que chaque sommet a été traité, la pixellisation a lieu. Si je comprends bien, les deux sommets sont pixellisés et deviendront donc le même fragment. Alors, on y va. De quelle couleur sera ce fragment particulier? Y a-t-il une sorte de mélange automatique et le fragment devient jaune? Ou est rouge ou plutôt vert?
Cette question pourrait être stupide. Mais je ne suis tout simplement pas clair sur ce point et apprécierais que quelqu'un puisse clarifier cela pour moi.
S'il n'y a pas de mélange (ce que je suppose), comment pourrais-je créer un effet de fondu?
Merci beaucoup Walter