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

Stefan

Alter Hase

  • »Stefan« ist der Autor dieses Themas

Beiträge: 668

Wohnort: Innsbruck

  • Private Nachricht senden

1

26.07.2003, 14:21

Problem mit Texturen

Hallo!

Ich programme zur Zeit an einem 2D Spiel und ich habe follgendes Problem. Wenn ich zum Beispiel ein Haus lade, dass sich in einer 180x80 großen Bitmap befindet, wird die Textur nicht vollständig über das Rechteck gesetzt und es entstehen schwarze dicke Ränder. Aber wenn ich eine Textur mit 64x64, 128x128, 256x256,... lade, gibt es natürlich keine Probleme. Ich habe deshalb das Haus in eine 256x256 Textur gesetzt und mit Hilfe der Texturkoordinaten das Haus geladen!
Welche, bessere Möglichkeiten gibt es?? Bei meiner Methode wird nämlich zu viel sinnloser Speicher benötigt!

DANKE

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

26.07.2003, 14:25

Manche Grafikkarten können nur mit quadratischen Texturen arbeiten oder nur mit Texturen, deren Seitenlängen 2er-Potenzen sind.
Ich würde immer mehrere Bilder in eine große Textur zusammenpacken. Dann wird auch kein Speicher verschwendet, oder nur wenig.

Stefan

Alter Hase

  • »Stefan« ist der Autor dieses Themas

Beiträge: 668

Wohnort: Innsbruck

  • Private Nachricht senden

3

26.07.2003, 14:45

okay, danke!
Ich muss wieder mal eine ganz spezielle Grafikkarte besitzen, bei meiner muss die Seitenlänge der Textur eine 2er-Potenz sein und quadratisch muss sie auch noch sein.... Da war mir DirectX 8 noch mit meiner Grafikkarte lieber, wo man mit D3D Texturen in jeder beliebigen Größe laden hat können!

4

26.07.2003, 15:27

Aehm soweit ich weiss kann keine Graka Texturen ausser 2er Potenzen nur die Treiber regeln das anders, oder so in etwa :)

Stefan

Alter Hase

  • »Stefan« ist der Autor dieses Themas

Beiträge: 668

Wohnort: Innsbruck

  • Private Nachricht senden

5

17.08.2003, 19:46

Falls jemand das gleiche Problem hat, verwendet einfach das .png Format, mit diesem Format kann man Texturen mit beliebiger Größe laden!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

17.08.2003, 22:04

Was soll das denn damit zu tun haben?
Es müsste doch eigentlich total egal sein.

Stefan

Alter Hase

  • »Stefan« ist der Autor dieses Themas

Beiträge: 668

Wohnort: Innsbruck

  • Private Nachricht senden

7

17.08.2003, 22:15

nein, .bmp und viele andere Formate werden nicht mit jeder Größe unterstützt. Das .png Format soweit ich weiß, funktioniert mit jeder Grafikkarte(auch mal bei mir ;D)!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

17.08.2003, 22:31

Sehr seltsam. Wenn ich das richtig sehe, funktionieren die D3DX-Texturladefunktionen etwa nach folgendem Schema:

1) Breite, Höhe und Format aus der Datei auslesen
2) Textur mit Breite, Höhe und Format erstellen
3) Daten in die Textur laden

Doch wo soll es da einen Unterschied machen, ob man BMP oder PNG verwendet? BMPs können ja jede beliebige Größe haben.

Stefan

Alter Hase

  • »Stefan« ist der Autor dieses Themas

Beiträge: 668

Wohnort: Innsbruck

  • Private Nachricht senden

9

17.08.2003, 22:39

hm, wenn ich eine .bmp Textur habe mit z.B: 100X16, funktioniert sie nicht. Speichere ich nun die Textur unter ein .png Format und lade sie, wird sie angezeigt. Bei allen anderen Formate müssen sie bei mir 64x64, 128x128, 256x256,... haben, sonst werden sie einfach nicht angezeigt! Auch bei Freunden habe ich es bereits versucht, dort wurde auch nur das .png Format mit einer beliebigen Texturgröße angezeigt!

Werbeanzeige