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

22.07.2007, 18:12

Wiedereinstiegsfragen: SDL Forum und OpenGL Texturen

Hi,

zwei Fragen:

1. Kennt jemand ein ordentliches SDL Forum... bis jetzt habe ich von sowas noch nie gehört?

2. Ist es eigentlich immer noch so, wie ich es damals bei OpenGL gelernt habt, dass die Seitenlängen von Texturen immer Zweierpotenzen sein müssen?

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

2

22.07.2007, 21:15

zu 1. kA ^^
zu 2. das hängt von der grafikkarte ab. einige neuere modelle haben diese beschränkung nicht mehr.
( man munkelt texturen von der größe 256x256 seien am performantesten )
"Don't trust your eyes: They are a hell of a lot smarter than you are"

3

22.07.2007, 22:15

1. Mist!
2. Naja ich werde OpenGL nur für zweidimensionale Zwecke verwenden... also mit anderen Worten sind dann Texturen einfach nur 2D Sprites... von daher wäre es schon praktisch wenn man auch mal 150x75 oder sowas vernwenden darf... ;-)

Phil_GDM

Alter Hase

Beiträge: 443

Wohnort: Graz

Beruf: Student-Softwareentwicklung u. Wissensmanagement

  • Private Nachricht senden

4

22.07.2007, 22:39

Re: Wiedereinstiegsfragen: SDL Forum und OpenGL Texturen

Zitat von »"tobb"«

Hi,
2. Ist es eigentlich immer noch so, wie ich es damals bei OpenGL gelernt habt, dass die Seitenlängen von Texturen immer Zweierpotenzen sein müssen?

Glaube ich kaum.
Seit dem ich programmiere, hab ich immer Texturen verwendet, die keine 2-er Potenzen hatten. Und angefangen hab ich mit einer Geforce2 und OpenGL. Ging wenn ich mich recht erinnere immer alles tadellos.
Also ich glaube, dass du getrost Texturen mit beliebiger Größe wählen kannst. Falls dem nicht so ist, bitte ich um Korrektur.

mfg Philipp

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

5

23.07.2007, 00:12

Zitat von »"tobb"«

[...]wäre es schon praktisch wenn man auch mal 150x75 oder sowas vernwenden darf


du kannst ja deine 150x75 textur in einer 2^n textur ablegen, und den teil den du nicht brauchst transparent machen ^^ das sollte auf jeden fall kein problem sein
"Don't trust your eyes: They are a hell of a lot smarter than you are"

6

23.07.2007, 01:23

Schon... besser wäre natürlich mit der Gewissheit das andere Formate auch funktionieren...

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

23.07.2007, 11:48

Diese Gewissheit kannst du aber leider nicht haben.
Eine weitere Möglichkeit besteht darin, dein originales 150x75 Pixel großes Bild auf eine 2^n Texel große Textur zu projizieren. Wie groß die Textur tatsächlich ist, ist ja letztenendes sogar egal, weil Du ja mit normierten Texturkoordinaten u und v (bzw. s und t) arbeitest. Darüber hinaus kannst du mit entsprechenden Funktionen auch einfach Bilder beliebiger Größe laden, selbst wenn nur Zweierpotenzen unterstützt werden. Die geeignetste Texturgröße wird von der Funktion dann "automatisch" gewählt. Zur Not ist eine solche Funktion im Handumdrehen selbst geschrieben. Einige Leute stehen ja nicht so auf die D3DX-Geschichten. Korrigiert mich, wenn ich mich irre, aber ich meine die D3DX-Funktionen zum Laden von Grafiken (in Texturen) würden das so machen.
Kommen Sie nie mit einem Schwert zu einer Schießerei.

8

23.07.2007, 13:51

Du meinst also einfach ein beliebiges Bild laden und die Textur dann auf die nächste Zweierpotenz mit transpraenter Farbe vergrößern...?

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

9

23.07.2007, 20:09

Dann müsstest Du u und v anpassen.
Wenn Du einfach in der Texturlade-routine die Größe auf eine 2er Potenz streckst, wenn es noch keine ist, braucht sich der gesammte restliche Code nicht drum zu kümmern.
"Games are algorithmic entertainment."

10

23.07.2007, 20:15

Achso und du meinst, wenn ich diese 2D Textur dann auf meine 2D Form "klebe" dann passe ich ja sowieso wieder die Größe an und stauche zurück zur normalen Größe...

Werbeanzeige