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

DarthB

Treue Seele

  • »DarthB« ist der Autor dieses Themas

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

1

14.08.2003, 16:34

Von Surface in Texture kopieren...

Also ich will Datein die größer als 256x256 sind in Surfaces laden weil einige GFX Cards größere Texturen nicht unterstützen aber ich hab keine Ahnung wie ich jetzt von einer Surface in eine Textur kopieren kann.

In der Doku standen Funktionen wie UpdateSurface oder UpdateTexture aber nicht womit man von einer Surf in eine Tex kopieren kann.

2

22.08.2003, 01:41

Hmm...wo liegt jetzt das Problem? Im Prinzip ist eine Textur nichts anderes als ein Spezieles Surface. Sowohl das Surface- als auch das Texturinterface haben eine LockRect und UnlockRect Methode. Du sperrst einfach beide und kannst dann einfach die Daten kopieren, z.B. mit memcpy.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

22.08.2003, 08:26

Richtig, eine Textur ist eigentlich nur eine Ansammlung von Surfaces (für jeden MIP-Level eine Surface). Du sperrst die erste Surface (von MIP-Level 0) und kopierst die andere Surface rein (die sperrst Du ebenfalls). Dann kannst Du mit D3DXFilterTexture die übrigen MIP-Levels berechnen lassen.

DarthB

Treue Seele

  • »DarthB« ist der Autor dieses Themas

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

4

22.08.2003, 15:54

Hat sich schon erledigt... als ich mir die Methoden von IDirectTexture9 und IDirect3DSurface9 genauer angeguckt hab kam ich auch drauf! ;)

Trotzdem danke für die Antworten.

Ciao DarthB

Anonymous

unregistriert

5

27.08.2003, 22:32

Hoffentlich liest das noch jemand:

Kann mir jemand zeigen wie genau ich das kopieren muss, das mit dem Pitch verwirrt mich, bzw. in der SDK steht dass sich das geändert hat.

6

28.08.2003, 00:56

Der Pitch gibt die Zeilenbreite an. Diese ist eigentlich nur wichtig wenn man mit Komprimierten Texturen arbeitet. Es soll wohl auch irgendwelche Reserve Bytes mit gespeichert werden. Hab so was bis jetzt aber noch nie gehabt.

Den Pitch brauch man daher nicht unbedingt. Da die Zeilenbreite ja durch die Breite Der Textur und die Bits pro Pixel angegeben wird.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige