[Monkey] Topdown Zoomen

Übersicht Andere Programmiersprachen Beginners-Corner

Neue Antwort erstellen

kog

Betreff: Topdown Zoomen

BeitragDi, Dez 30, 2014 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag Zusammen

Kennt jemand das Problem:
user posted image

und hat jemand eine Ahnung, wie man dieses Problem lösen kann? bzw. wie man einen Zoom in ein 2D TopDown Spiel bringt?

Grüsse
kog
Windows 7 Home Premium 64bit
CPU: Intel Core i5 3450 Ivy Bridge
GPU: HIS HD 4870 1GB GDDR5
RAM: 4x 4GB DDR3-SDRAM Dual Channel

DAK

BeitragDi, Dez 30, 2014 22:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin mir nicht sicher, was du mit dem Problem meinst. Meinst du, dass die Bilder unscharf werden? In diesem Fall erstelle die Tiles mehrfach in verschiedenen Größen (z.B. 64x64, 128x128, 256x256). Wenn du rein zoomst, dann zeichne statt den kleineren Bildern die Größeren mit halber Zoomstufe.
Gewinner der 6. und der 68. BlitzCodeCompo

kog

BeitragDi, Dez 30, 2014 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Tut mir leid, das ich mich zu wenig deutlich ausgedrückt habe, jedoch rege ich mich total darüber auf...

Sobald die Tiles von der Original Grösse Abweichen, entstehen solche Linien zwischen den einzelnen Bildern.
Windows 7 Home Premium 64bit
CPU: Intel Core i5 3450 Ivy Bridge
GPU: HIS HD 4870 1GB GDDR5
RAM: 4x 4GB DDR3-SDRAM Dual Channel

Silver_Knee

BeitragDi, Dez 30, 2014 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Du wirst die Koordinaten als Int gespeichert haben und beim zoomen werden sie dann auf- oder abgerundet. Da bekommst du dann eventuell eine Pixel-Spalte. Probier mal spätestens beim Anzeigen Fließkommazahlen zu nehmen.

kog

BeitragMi, Dez 31, 2014 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Mir ist aufgefallen, das es nur bei Tiles passiert, welche neben dran ein Transparentes Tile haben.
Windows 7 Home Premium 64bit
CPU: Intel Core i5 3450 Ivy Bridge
GPU: HIS HD 4870 1GB GDDR5
RAM: 4x 4GB DDR3-SDRAM Dual Channel

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Dez 31, 2014 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Immer wieder, cool... Very Happy

Sofern dir keine Filter zur Verfügung stehen die genau das verhindern, kannst du dir nur noch damit behelfen, indem du um ein Tile herum jeweils einen Rand von mindestens einem Pixel vom Tile wiederholst. Ist das Zoomverhältnis sehr groß, müssen sogar zwei oder mehr Pixel eingezeichnet werden.

Beispiel mit einem Tile von sagen wir mal (Einfachheit halber) 4x4 Pixeln:

Code: [AUSKLAPPEN]
0123
4567
89AB
CDEF

Dann müsste mit dem Grafikprogramm ein Pixel umrum erstellt werden:

Code: [AUSKLAPPEN]
FCDEFC
301230
745674
B89AB8
FCDEFC
301230

Aus den Koordinaten wird aber trotzdem nur das Mittelstück mit 4x4 gegrabbt. Statt also von 0,0 bis 3,3 wird dann halt 1,1 bis 4,4 gegrabbt. Und schon haste keine Probleme mehr.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Kruemelator

BeitragMi, Dez 31, 2014 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Texturkoordinate an den Ecken müssen um einen halben Pixel abgeändert werden.
Ich nehme mal an du hast quadratische Tiles.
Wenn deine Textur 128 Pixel breit ist dann würden die Texturkoordinaten nicht von 0 bis 1 sondern von 0.5/128 bis 1-0.5/128 gehen.
Hier eine Behandlung des Problems in Direct3D, die Bilder erklären es ganz gut.
Directly Mapping Texels to Pixels

kog

BeitragMi, Dez 31, 2014 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo hectic

Ich konnte mir mit diesem Fix helfen, im Chromium funktioniert es super.
Im Internet Explorer gibt es jedoch hässliche Überlappungen ^^
Hast du dafür auch eine Idee?
Windows 7 Home Premium 64bit
CPU: Intel Core i5 3450 Ivy Bridge
GPU: HIS HD 4870 1GB GDDR5
RAM: 4x 4GB DDR3-SDRAM Dual Channel

Neue Antwort erstellen


Übersicht Andere Programmiersprachen Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group