Wie hoch ist die Präzision von Highspoaks in GLSL ES 2.0 (für iPhone / iPod touch / iPad)?
Ich habe einen shader, der im Idealfall braucht 28 bits der Mantisse, kann ich zwar weniger und die Leistung beeinträchtigen. Wie kann ich ermitteln, was die Präzision der 'HP' ist in OpenGL ES? Es ist wahrscheinlich eine FP24, mit 16-bit (Mantisse, aber ich kann nicht herausfinden, für sicher oder wie zu Fragen, OpenGL. Irgendwelche Ideen?
InformationsquelleAutor der Frage gonzojive | 2010-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du willst GetShaderPrecisionFormat Abfrage der Reichweite und Präzision der shader-Typen
geben Sie die Reichweite und Präzision highp float.
InformationsquelleAutor der Antwort Chris Dodd
Aus der OpenGL ES Shading Language reference:
highp
- 16-bit, floating-point-Bereich:-2^62 auf 2^62, integer Wertebereich: -2^16 bis 2^16
mediump
- 10-bit, floatingPunkt-Bereich: -2^14 bis 2^14, integer
Wertebereich: -2^10 bis 2^10
lowp
- 8 bit,floating-point-Bereich: -2 bis 2,
integer Wertebereich: -2^8 bis 2^8
InformationsquelleAutor der Antwort Brad Larson
In meinen Tests auf meiner Linie teure Spielzeug:
Für beide ints und floats, die Genauigkeiten und reicht über fragment-und vertex-Shader sind die gleichen.
Also werde ich nicht alle Kombinationen erschöpfend.
Beachten Sie auch, dass die Genauigkeit von int-Werten definiert ist, immer 0.
PowerVR SGX543MP3 (iPhone 5):
lowp
tatsächlich in der Lage sein zu repräsentieren, einen Wert erreichen genau2
oder-2
ich weiß wirklich nicht, von eine großartige Möglichkeit, um dies zu testen, noch sollten wir über-beschäftigen uns mit diesen Einschränkungen, verwenden Sie einfachmediump
wenn dies jemals ein Thema sein)A7 & PowerVR G6430 (iPad Air):
A8 & PowerVR GX6450 (iPhone 6 Plus):
Hier ist ein Beispiel, wie Sie vielleicht die Abfrage der Werte.
Es ist mir nicht klar, noch, ob Sie erwarten können spürbare performance-Verbesserungen durch die Wahl einer niedrigeren Genauigkeit Typ (Auch auf einige Handys, die sind jetzt 3 Jahre alt).
Es ist klar, dass der trend in Richtung Konvergenz mit desktop-hardware, wie es kann gesehen werden, dass die neuere GPU ' s haben, vollständig eliminiert die 8-bit-Typen und recycling für die
mediump
fürlowp
.InformationsquelleAutor der Antwort Steven Lu