Ich wüsste auch nicht so wirklich, wieso da großartig Rundungsfehler auftauchen sollten. Hier wird doch eh auf ganze Zahlen gerundet. Ungenauer geht es doch eh schon fast nicht mehr.
Achso, dafür gibt es logischerweise keine einfach lösung ohne Rundungsprobleme. Aber hast du denn so große Grafiken das Rundungsprobleme wirklich entstehen können?
...
Die Fehler entstehen ganz sicher, du kannst nicht alle 256 Zahlen anhand des Wertebereichs eines Floats zwischen 0.0 und 1.0 darstellen. Ich will dabei auf Nummer sicher gehen und nicht "hoffen" dass es funktioniert.
Zitat von Whiz-zarD
Ich wüsste auch nicht so wirklich, wieso da großartig Rundungsfehler auftauchen sollten. Hier wird doch eh auf ganze Zahlen gerundet. Ungenauer geht es doch eh schon fast nicht mehr.
...
Man weis nie welche Hardware bei dem Benutzer verwendet wird und wie diese rundet. (175 / 255) * 255 kann bei zwei unterschiedlichen Grafikkarten ein unterschiedliches Ergebnis haben.
Du musst nicht "hoffen", verlass dich einfach auf die Standards. Und teste:
...
Und falls das nicht passiert soll was geschehen? Das Spiel kann nicht bei dem Nutzer gespielt werden?
Ich wüsste einfach nur gerne ob jemand sich mit GLSL auskennt um mir sagen zu können ob es eine Funktion gibt welche mir helfen könnte, oder um mir sagen zu können, dass es definitiv keine gibt und ich nicht weiter suchen sollte.
Floating Point-Datentypen sind seit langer Zeit standardisiert und verhalten sich auf jedem Rechner gleich. Du siehst ein Problem, wo es keins gibt. Wie gesagt, verlass dich hier einfach auf die Standards.
Er meint wahrscheinlich, dass bestimmte reelle Zahlen nicht exakt als Gleitkommazahlen dargestellt werden können. Das ist aber völlig irrelevant für seine Anwendung.
Ich habe gerade einen Shader geschrieben und es getestet.
Wie es scheint werden wirklich alle 256 verschiedenen Farbstärken korrekt dargestellt, zumindest bei mir.
Augenscheinlich war die Einstellung meines Grafikprogramms beim ersten Test für den Fehler verantwortlich, durch Kompression oder sonstiges wurden wohl mehrere Farben welche zu nah aneinander lagen zusammen gelegt.
Vielen Dank für die Antworten.
Augenscheinlich war die Einstellung meines Grafikprogramms beim ersten Test für den Fehler verantwortlich, durch Kompression oder sonstiges wurden wohl mehrere Farben welche zu nah aneinander lagen zusammen gelegt.
Vielen Dank für die Antworten.
Ich habe gerade einen Shader geschrieben und es getestet.
Wie es scheint werden wirklich alle 256 verschiedenen Farbstärken korrekt dargestellt, zumindest bei mir.
...
Okay du hast das wohl nicht gelesen, aber nicht nur bei dir, bei JEDEM. Finde mir einen Rechner der dir da andere Werte ausspuckt und du hast einen Preis verdient.
Hier noch mal der Kommentar von Kyuu:
Zitat von Kyuu
Floating Point-Datentypen sind seit langer Zeit standardisiert und verhalten sich auf jedem Rechner gleich. Du siehst ein Problem, wo es keins gibt. Wie gesagt, verlass dich hier einfach auf die Standards.