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

03.04.2005, 20:30

frage zu d3dx-texture-load-funktion

hi,

kann man irgendwie die d3dxCreatetextureex funktion
benutzen um eine bilddatei zu laden, ohne eine textur zu erstellen.?
ich will das mir die funktion die arbeit abnimmt png's zu laden.
hab kann bock die libpng zu nehmen oder was eigenes zu coden
nur is es unelegant d3dx ne textur erstellen zu lassen und dann
von dort die bilddaten zu lesen.

gruß 23h

2

03.04.2005, 20:37

Was genau sind pgns? Du kannst die Funktion ja benutzen, um eine Textur zu erstellen aber dann einfach mit SetTexture eine andere Textur setzen. Oder was meinst du da genau?

3

04.04.2005, 00:17

png = portable network graphics.
is ein datei format.

mein problem is das d3dx die datei lädt und gleich eine textur erstellt.
ich will aber nur die bilddaten in' speicher laden.
natl. kann ich d3dxcreatetexture benutzen und dann die bilddaten
per Lock aus der textur lesen aber das ist irgendwie unelegant.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

04.04.2005, 17:55

mir fallen auf die schnelle nur noch D3DXLoadSurfaceFromFile() bzw. http://www.wotsit.org ein...

5

04.04.2005, 18:18

ja wie gesagt die alternative wär libpng oder halt selber baun.
später will ich es auf jedenfall selber implementieren weil
png's zip verwenden und ich auf jeden fall mal ein zip implemntiert
haben will.
aber die zeit hab ich grad echt nicht.
wobei man zum reinen laden der datei nur den doch wesentl. einfacheren
decompress-algorthimus braucht.

hat wer vielleicht schon selbst nen png-loader geschrieben?

oder welche bildformate verwendet ihr für eure texturen?
ich will halt png haben weils alpha-kanal hat.
& es is komplett lizenzfrei.
gut klein is es auch aber das denk ich is bei heutiger plattengröße eher zweitrangig.
schön is halt das man ein std. format einfach mit gimp oder photoshop
bearbeiten kann während man selbst definiertes zeugs auch immer mit
tools würdigen muss :)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

04.04.2005, 19:03

ich nehm da immer .tga.

zum laden D3DXCreateTextureFromFile() und zum speichern brauchts grad mal ~50 zeilen...

weigo

Treue Seele

Beiträge: 234

Wohnort: Deutschland

  • Private Nachricht senden

7

04.04.2005, 19:20

Wie wäre es mit DevIL zum Laden und Speichern von Bildern und zlib und zzlib zum Laden aus Zip Archiven?
Diese Bibliotheken nutze ich zurzeit in meiner Diplomarbeit.
DevIL ist zwar schlecht dokumentiert, aber wenn man’s raus hat, dann ist DevIL ziemlich genial. Du kannst damit alle möglichen Formate laden, z.B. TGA, PNG, JPG, BMP, DDX uvm.

8

04.04.2005, 19:26

cool muss mal anschaun das.
danke. ^^

weigo

Treue Seele

Beiträge: 234

Wohnort: Deutschland

  • Private Nachricht senden

9

04.04.2005, 19:29

Kein Problem. Ich kann dir nicht versprechen, dass du darin deine Lösung findest oder dass es die beste Lösung ist, aber es wird sicher eine Alternative sein. Und es ist IMHO besser, als das Rad wieder neu zu erfinden!

10

04.04.2005, 19:40

jo wie gesagt hatte auch grad nicht vor was neu zu coden.
aber irgendwie auch kein bock auf libpng.
hab mal kurz reingeschaut und fand das nicht grade prikelnt.
wär halt einfach nur interessant zip mal zu implementieren.


wenn ich das mit devil richtig sehe muss ich foglendes machen um ein bild zu laden:

C-/C++-Quelltext

1
2
3
4
5
ILuint   image1;
ilGenImages(1, &images1);
ilBindImages(image1);
ilLoadImage("bild.png");
ILubyte *data = ilGetData();


so stands jedenfalls in dem tut.
kannst du das bestätigen??? obwohl müsste ja funzen wenn das
so auf der projekt-page steht :)

*ausprobierengeh*

gruß 23h

Werbeanzeige