Drawrect und Drawline arbeiten unsauber

Previous topic - Next topic

S. P. Gardebiter

Hallo.
Ich habe bemerkt, dass Drawrect und Drawline unsauber arbeiten. Ein Beispiel hab ich hierzu nicht, da ich nicht meinen Quellcode auf dem Silbertablett zeigen will.
Es ist aber sehr leicht zu rekonstruieren:

1. Man nehme einen Drawrect befehl und zeichne über eine Fläche.
2. Darüber zeichnet man nun einen größeren Sprite oder Tileset der/das die volle Fläche z.B. nutzt.
3. Darüber wieder ein Drawrect.

Es tritt ein sehr unschöner Rand auf:



Pixelgenau ist das nicht wirklich, es wirkt eher wie Antialiasing.
Bei einer gezeichneten Drawline über ein Drawrect drauf, treten auch "Farbveränderungen" auf.
~ Cave Story rules! ~

Quentin

nur eine Idee:
Tritt dieser Effekt auch auf, wenn due SMOOTHSHADING FALSE verwendest vor dem Zeichnen des Sprite?

S. P. Gardebiter

Jap. Hab ich schon ausprobiert :/
~ Cave Story rules! ~

S.O.P.M.

Also ich will ja nicht klugscheißern oder so, aber mir war sofort klar, wodurch der Effekt zustande kommt: Es ist ein typischer Effekt der nunmal bei TFT-Displays auftritt. Bestimmte Farben auf bestimmten Hintergründen zeigen unsaubere Kanten. Das es nichts mit GLBasic zu tun hat, kann sich jeder selbst leicht beweisen - habe es selbst gerade ausprobiert - die Grafik einfach mal in ein Zeichenprogramm wie Paint kopieren, stark vergrößern und dann seht ihr, dass alles in Ordnung ist!
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

S. P. Gardebiter

#5
Quote from: S.O.P.M. on 2010-Feb-14
Also ich will ja nicht klugscheißern oder so, aber mir war sofort klar, wodurch der Effekt zustande kommt: Es ist ein typischer Effekt der nunmal bei TFT-Displays auftritt.

Blödsinn:

1. Ich benutze eine Röhre :x
2. Beim Screenshot wird nicht das TFT Bild sondern direkt die Graphikausgabe aufgenommen.

Aber da mir ja malwieder nicht geglaubt wird -_- hier ein Beispiel:

http://spgardebiter.sp.funpic.de/Test.zip



Sieht fast aus als wenns um einen halben Pixel nach rechts verschoben ist.
~ Cave Story rules! ~

S.O.P.M.

#6
Tja, war dann wohl ein Mißverständis vorhin!? Denn auf deinem aktuellen Screenshot kann ich das Problem nachvollziehen. Beim Vorherigen konnte ich es eben nicht, hatte es einfach überprüft und es war ok. Klar, dann ging ich von dem mir schon oft beobachteten o.g. Effekt aus. Ich dachte jedenfalls, du meintest den scheinbar unsauberen Rand vom roten Strich auf dem grauen Grund... dann wohl nicht.

Das aktuelle Beispiel kann ich leider nicht bei mir prüfen, die EXE-Datei bringt bei mir nur ein schwarzes Bild, wenn ich das Projekt öffnen will, meckert mein GLBasic wegen einer zu alten Version und Updaten funktioniert seit Win 7 bei mir nicht mehr, wie ich eben festgestellt habe :D

Sorry, musste mal warten, bis es jemand anders getestet hat.

EDIT:
Konnte nun doch aktualisieren, habe es ausprobiert, bei mir geht es. Die Ränder sind sauber bei mir, nicht wie auf deinem Screenshot!
Notebook PC Samsung E372 Core i5 @ 2,6 GHz; 4 GB RAM; Win 7 Home Premium

S. P. Gardebiter

#7
Quote from: S.O.P.M. on 2010-Feb-14EDIT:
Konnte nun doch aktualisieren, habe es ausprobiert, bei mir geht es. Die Ränder sind sauber bei mir, nicht wie auf deinem Screenshot!

Die Frage ist wieso o:
Ich hab übrigens Windows XP, vielleicht liegts auch daran, aber eig. sollte es da ja genauso laufen.

Problem hat sich erledigt: Hab mit der Graphikkarte rumgespielt, Settings etc. Offenbar spackt meine NVidia im "Balanced" Mode etwas mit der Pixelgenauigkeit rum.
Bitte für die Nachwelt notieren O:
~ Cave Story rules! ~