Transparenzproblem



  • Hallo,

    ich suche eine effizientere Methode (falls es diese gibt) um mein momentanes Problem mit Transparenz und Renderreihenfolge zu lösen.
    Meine momentane Situation ist, dass ich eine Partikelwolke aus semitransparenten Partikeln habe, die ich momentan so sortieren muss, damit die Transparenz korrekt umgesetzt wird:

    for (particle : particles)
       particle.calculateCameraDistance();
    
    std::sort(particles.begin(), particles.end(), std::greater<Particle>());
    

    Das Problem ist, dass ich jetzt seriell zuerst für jedes Partikel eine aufwändigere Berechnung durchführen muss und diese dann auch noch sortieren muss.
    Ich denke die CPU kommt da bei großen Partikelzahlen schnell an ihre Grenzen.
    Gibt es da also effektivere Methoden?


  • Mod

    welche zeiten hast du mit und ohne sortieren.



  • Ohne sortieren läuft mein geposteter Codeabschnitt 3-mal schneller.



  • Was genau stellen diese Partikel dar? Evtl. kann man additives Blending o.ä. verwenden?


Anmelden zum Antworten