Partage
  • Partager sur Facebook
  • Partager sur Twitter

[OpenGL] Shader qui ne fonctionne pas.

Difficultés avec l'opengl moderne.

Sujet résolu
    9 avril 2019 à 13:53:38

    Bon, j'ai presque réussi, en fait, il fallait créer une deuxième liste, dans le second shader : (mais je ne comprend pas pourquoi!!!)
    NodeType frags[MAX_FRAGMENTS];
    NodeType frags2[MAX_FRAGMENTS];
    int count = 0;
    uint n = imageLoad(headPointers, ivec2(gl_FragCoord.xy)).r;
    while( n != uint(0xffffffff) && count < MAX_FRAGMENTS) {
    frags[count] = nodes[n];
    frags2[count] = nodes[n];
    n = frags[count].next;
    count++;
    }
    Et pour le tri et le blending j'utilise la list frags2 plutôt que frags. Mais, j'ai un autre soucis, il n'y a pas de transparence!!!
    vec4 dstcolor = vec4(0, 0, 0, 0);
    for (int i = 0; i < count; i++) {
    vec4 srccolor = frags2[i].color;
    dstcolor = vec4(srccolor.rgb * srccolor.a + dstcolor.rgb * (1 - srccolor.a), srccolor.a + dstcolor.a * (1 - srccolor.a));
    }
    Donc du coup on ne voit pas à travers les tiles, c'est comme si elle étaient toutes opaques!!!
    PS : Bon hé bien j'ai réussi!
    Là non plus je ne comprend pas pourquoi mais il ne fallait pas dessiner un quad sur toute la fenêtre lors de la deuxième passe mais, le tableau de sommets :
    for (unsigned int i = 0; i < m_instances.size(); i++) {
    if (m_instances[i].getAllVertices().getVertexCount() > 0) {
    target.draw(m_instances[i].getAllVertices(), states);
    }
    }
    //target.draw(quad, states);

    Donc sujet résolu même si je ne comprend pas pourquoi!!!

    -
    Edité par OmbreNoire 9 avril 2019 à 18:02:33

    • Partager sur Facebook
    • Partager sur Twitter
      10 avril 2019 à 17:19:56

      Oui mais non, ça ne fonctionne pas, l'affichage n'est pas synchronisé, et en plus,  c'est contre performant.
      • Partager sur Facebook
      • Partager sur Twitter
        10 avril 2019 à 20:58:41

        Lolilolight ?
        • Partager sur Facebook
        • Partager sur Twitter

        Si vous ne trouvez plus rien, cherchez autre chose.

          11 avril 2019 à 16:10:06

          C'est un de mes précédents pseudos oui.

          Bon c'est glMemoryBarrier qui ne fonctionne pas...

          Non c'est bon j'ai résolu mon problème!

          -
          Edité par OmbreNoire 11 avril 2019 à 17:39:56

          • Partager sur Facebook
          • Partager sur Twitter

          [OpenGL] Shader qui ne fonctionne pas.

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown