Registriert seit: 23. Jan 2008
3.686 Beiträge
Delphi 2007 Enterprise
|
AW: [FMX] ungerade Linienbreiten?
14. Nov 2013, 22:03
Das liegt daran, dass bei 3D APIs in der Regel das Pixelraster nicht in der Mitte vom oberen linken Pixel anfängt, sondern in der oberen linken Ecke vom oberen linken Pixel. 3D Funktionen behandeln Bitmaps eher wie eine stetige Funktion, als wie ein diskretes Punktmuster. Damit kann man auch wunderbar auf die Nase fallen, wenn man Shader programmiert. Ist aber in diesem Kontext das normale und erwartete Verhalten. (Man zeichnet bei Nutzung von ganzzahligen Koordinaten also praktisch ganz genau zwischen 2 Pixel, und das wird dann zur Ausgabe auf die beiden beteiligten aufgeteilt um im Mittel die Position zu wahren.)
Ich kann aber einsehen, dass man bei FMX - da es ja für Desktopeinsatz entwickelt ist - hier durchaus von vorne herein das 0.5-Offset hätte rein nehmen dürfen, da stimme ich voll und ganz zu.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
|