Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.06.2011, 07:50

Müssen grafiken ein Zweierpotenz verhältniss haben?

Hallo,

meine frage ist, ob grafiken so groß wie eine zweier potenz sein müssen also, z.B 32x32, ich weiß nicht
von wo, aber irgendwann mal hab ich sowas aufgeschnappt, das man am besten seine Grafiken jeweils
in der größe einer zweierpotenz erstellt und das dass auch für die Teile in der Grafik gillt, also wenn man
mehrere Zustände eines Sprites in der Grafik hat, dass der Bereich, in dem das jeweilige Sprite dargestellt
wird auch eine Zweiterpotenz sein sollte.

Nun meine Frage, ist das wirklich so?
Ich hab noch im kopf, das dass irgendwie darstellungsprobleme verhindern soll, aber um ehrlich
zu sein hab ich noch nie Darstellungsprobleme im 2D Berreich gesehen, verwechsel ich da was?

Lg und vielen Dank im Voraus
Jack

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

2

28.06.2011, 08:21

Es gibt Grafikkarten / Treiber die mit anderen Größen nicht klarkommen. Deswegen sollte man diese Größen verwenden.

3

28.06.2011, 08:32

Das blöde ist ja aber wenn ich ein Sprite hab der 64x70 groß ist, muss ich es runterskalieren, etwas rausschneiden,
oder ich nehme die nächst größere Potenz und das wäre doof, wenn ich von 64 auf 128 steigen muss und die hälfte
des Bildes Weiß ist... Deswegen hab ich überhaupt gefragt, sonst hät ich es einfach gemacht obs stimmt oder nicht...
Mhhh... Geht eigentlich auch sowas wie: 32x64 oder muss die Breite und Höhe des Bildes immer die gleiche Zweierpotenz sein?

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

4

28.06.2011, 08:52

Ja das Seitenverhältnis ist egal.
Auf die nächst größere Potenz zu gehen und den Rest transparent zu machen ist aber halt nunmal so wie es gemacht wird ;)

5

28.06.2011, 09:03

Ok, wenigstens das.. :)
Danke, dann muss ichs wohl oder übel so machen...

rnlf

Frischling

Beiträge: 85

Beruf: Softwareingenieur Raumfahrt

  • Private Nachricht senden

6

28.06.2011, 09:06

Gibt es überhaupt noch realistischerweise Grafikkarten, die das nicht können? Also GL_ARB_texture_non_power_of_two gibt es seit 2003, Spätestens seit damals gibt es also zumindest in OpenGL einen Standard dafür. 2003 war die Zeit der GeForce 4...

Ich würde also einfach inzwischen mal ganz dreist davon ausgehen, dass es keine Hardware mehr gibt, die das nicht kann. 8 Jahre ist durchaus eine lange Zeit.

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

7

28.06.2011, 10:32

Selbst wenn sie es können, sind texturen mit 2er-potenzen meistens beim rendern wesentlich schneller...

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

28.06.2011, 10:41

Afaik sind die Geschwindigkeitsunterschiede nichtmehr wirklich signifikant. Jede D3D10 Karte muss Texturen in beliebigen Abmessungen unterstützen. Aber wenn mans nicht unbedingt braucht einfach 2er Potenzen verwenden ;)

9

28.06.2011, 11:35

Selbst wenn sie es können, sind texturen mit 2er-potenzen meistens beim rendern wesentlich schneller...

Dann wäre da noch die Frage, ob das heutzutage bei einem 2D Spiel überhaupt messbar ist...

Wenn man für 3D Modelle unwrapping macht, kann man ja ruhig gucken, dass es irgendwie quadratisch wird und dann eine Zweierpotenztextur nehmen. Aber für 2D Sprites würde ich mir da keinen Kopf machen, besonders wenn man die Pixelgenau positionieren will.
Lieber dumm fragen, als dumm bleiben!

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

28.06.2011, 11:44

Naja, gerade bei 2D Sprites wird man aber schauen dass man nicht für jedes Sprite eine Textur benutzt sondern möglichst viele Sprites in größere Texturen zusammenfasst um anständig Batchen zu können. Und gerade da tut es dann nicht weh einfach auf eine 2er Potenz aufzurunden da die ganze Logik um mit Texturausschnitten zu arbeiten sowieso schon vorhanden ist. Zumindest wenn es jetzt um Performance geht ;)

Werbeanzeige