Ich habe 24bit .png mit Alpha aus Photoshop benutzt und einfach eine .psd ausprobiert, die mit OpenGL ES gut funktioniert, aber Metal hat den Alpha-Kanal nicht gesehen.
Was ist das absolut performanteste Texturformat für Partikel innerhalb von SceneKit?
Hier ist ein Testblatt, falls nötig.
Sieht weiß aus ... Rechtsklicken und speichern wie im leeren Feld. Es ist eine Alpha-schwere Reihe von Ringen. Sie können sie wahrscheinlich kaum erkennen, wenn Sie auf den Bildschirm schielen:
übertriebenes Beispiel Anwendungsfall:
// Zusätzliche Punkte für jeden können den Unterschied zwischen den linken und rechten Ringen im Video erraten.
Verwenden Sie eine Graustufen- / Alpha-PNG-Datei und keine RGBA-Datei. Da es 16 Bits pro Pixel (8 + 8) anstelle von 32 (8 + 8 + 8 + 8) verwendet, ist die anfängliche Texturlast schneller und kann (abhängig von der GPU) auch weniger Speicher verbrauchen. Zur Renderzeit werden Sie jedoch keinen Geschwindigkeitsunterschied sehen, da das Texturformat immer noch auf einen vollen RGB (A) -Puffer übertragen wird.
Es gibt auch PVRTC, mit dem Sie bis zu zwei Bits pro Pixel erreichen können, aber ich habe versucht Das Werkzeug von Imagine ist auf Ihrem Bild sichtbar und selbst die Einstellungen mit der höchsten Qualität verursachten eine Reihe von Artefakten wie die folgenden:
Lange Rede kurzer Sinn: Gehen Sie mit einer Graustufen- + Alpha-PNG-Datei, die Sie einfach aus Photoshop exportieren können. Wenn dein Partikelsystem deine Bildrate beeinträchtigt, verringere die Anzahl und / oder Größe der Partikel. In diesem Fall könntest du vielleicht einige der Partikelbilder im Quelltextatlas übereinander legen, was vielleicht nicht auffällt, wenn Sie solche auswählen, die sich in der Größe unterscheiden.
Tags und Links scenekit particles particle-system