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

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

1

03.09.2007, 22:34

2D mit D3D - Wie Größe der Textur herausfinden?

Ich bin gerade damit beschäftigt, mir meine Sprite-Klasse mit D3D zu schreiben. Hat bis jetzt auch ganz gut geklappt, aber jetzt brauch ich dann doch mal eure Hilfe. Und zwar ziehe ich die texturen ja über ein Quadrat/Rechteck. Ich muss aber wissen, wie groß das Quadrat sein muss, um die Textur auch 1:1 auf den Bildschirm zu bringen. Wie finde ich also die Breite/Höhe einer Textur heraus? Und wie rechne ich das dann in relative Koordinaten um, sodass ich das auch richtig angeben kann?


MfG

2

03.09.2007, 23:17

Die Größe der Textur musst du beim Laden besorgen...
Ich kenne mich mit DX nicht aus, aber du wirst ja wohl irgendwie die Bilddatei (welche die Textur werden soll) in eine Art Surface laden. Und diese Surface beherbergt dann auch die Informationen wie Größe usw...
Wenn das Rechteck, auf das die Textur kommt, genauso große ist wie die textur selber, brauchst du keine relative Koordinaten... oder was meinst du damit?

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

3

03.09.2007, 23:42

Öhm...beim Laden gebe ich D3DX_DEFAULT an, was IMHO heißt, dass die Textur genau so größ wird wie das geladene Bild. Die Textur ist nachher in einer IDirect3DTexture9 gespeichert, aus der ich irgendwie die Breite und Höhe herauskriegen muss.

4

04.09.2007, 00:03

Richtig.
Ich wette IDirect3DTexture9 ist eine Klasse oder eine Struktur aus der man irgendwie Width und Height herausbekommt.
Dazu empfiehlt sich die Dokumentation...

Sheddex

unregistriert

5

04.09.2007, 00:26

Die Methode heißt "GetLevelDesc".

Das war zumindest das Ergebnis einer Suche mit "IDirect3DTexture9 texture width" ;)

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

6

04.09.2007, 00:38

Ok, ich musste nur eine Variable D3DSURFACE_DESC erstellen, und dann eben mit texture->GetLevelDesc() füllen. Jetzt habe ich die richtigen maße, weiß aber noch nicht, wie ich sie in relative Angaben umwandeln soll, und was ich dabei alles beachten muss.

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

7

04.09.2007, 13:52

Warum relative angaben?

Socke

Schnitter

Treue Seele

  • »Schnitter« ist der Autor dieses Themas

Beiträge: 141

Wohnort: Remshalden

Beruf: Schüler

  • Private Nachricht senden

8

04.09.2007, 16:10

Weil ich das Quadrat/Rechteck ja mit relativen float-Angaben zeichnen muss, oder?^^

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

9

04.09.2007, 17:19

Naja. angenommen du hast jetzt ein bild welches ein objekt darstellt. wenn du nun die koordinate (10, 10) auf der graphik in absoluten koordinatensystem herausfinden willst, dann addierst du einfach (10, 10) zu der position des objekt(also dein bild) hinzu.
So sollte es gehen, oder ich habe dich missverstanden.


Socke

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

10

04.09.2007, 18:40

Du musst D3DFVF_XYZRHW setzen und dann sind die Vertexcoords = den Bildschirmcoords.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige