DGL https://delphigl.com/forum/ |
|
pow() auf ATI und nVidia verschieden? https://delphigl.com/forum/viewtopic.php?f=20&t=10493 |
Seite 1 von 1 |
Autor: | Aya [ Di Jul 03, 2012 09:40 ] |
Betreff des Beitrags: | pow() auf ATI und nVidia verschieden? |
Hi, ich habe gestern eines meiner Programme das erste mal auf einer ATI Grafikkarte getestet - lief alles wunderbar bis auf ein Shader, genauer gesagt die pow() funktion. Auf allen meinen nVidia Karten sieht das Ergebnis korrekt aus, auf der ATI liefert pow() immer 0 (oder nan/inf?) zurück. Nach einem schnellen googlen scheint es wohl so das die pow() funktion auf ATI Karten nicht korrekt funktioniert sobald einer der beiden Parameter negativ ist - ob das bei mir der Fall war, habe ich gestern aber dann nicht mehr durchgerechnet. Glücklicherweise war es bei mir nur ein pow(x, 2.0) welches ich dann einfach durch x*x ersetzt habe. Damit funktioniert der Shader nun einwandfrei. Gibt es noch mehr solche Stolpersteine? Also gibt es noch andere bekannte "bugs" auf ATI/nVidia Karten in der Art? Und, kann man Shader irgendwie debuggen? Ich lasse mir immer die Zwischenschritte als Farbe ausgeben was aber halt nur funktioniert wenn der Wert zwischen 0 und 1 liegt.. und immer alles selber auf dem Papier nach zu rechnen für die aktuellen uniform variablen ist etwas anstrengend ![]() Danke~, Aya |
Autor: | Coolcat [ Di Jul 03, 2012 16:39 ] |
Betreff des Beitrags: | Re: pow() auf ATI und nVidia verschieden? |
Zitat: Glücklicherweise war es bei mir nur ein pow(x, 2.0) welches ich dann einfach durch x*x ersetzt habe. In so einem einfachen Fall (hoch 2 oder 3) sollte man das sowieso tun. Die pow-Funktion ist darauf ausgelegt das du sie für Exponenten wie "1.465366" benutzt. Das da ein x*x schneller ist sollte klar sein ![]() Zitat: Gibt es noch mehr solche Stolpersteine? Also gibt es noch andere bekannte "bugs" auf ATI/nVidia Karten in der Art? Gleich Haufenweise. ![]() ![]() |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |