Avatar billede benjamin_ Nybegynder
13. september 2003 - 13:41 Der er 5 kommentarer og
1 løsning

Texture loading fra system memory..

Hej =)
Jeg har nogle textures jeg gerne vil proppe op i system memory for derefter at loade dem op i texture memoryen på grafikkortet.
Og jeg skal gerne bruge et par textures i system memoryen nogle af dem af et par megabytes i størrelse...
Jeg kan ikke helt få det til at virke.. =(
Nogen der har mod på at hjælpe mig?
Jeg bruger i øjeblikket DirectX8.1.

Her er den kode jeg bruger..:


ifstream filein1;
ifstream filein2;

BYTE * tex1 = new BYTE[49208];
BYTE * tex2 = new BYTE[65592];

filein1.open( "texture1.tex", ios::in | ios::binary | ios::nocreate, filebuf::openprot );
filein1    >> tex1;
if( FAILED( D3DXCreateTextureFromFileInMemory(
        pd3dDevice, tex1, 49208, &m_pTB[0])))
return E_FAIL;

filein2.open( "texture2.tex", ios::in | ios::binary | ios::nocreate, filebuf::openprot );
filein2    >> tex1;
if( FAILED( D3DXCreateTextureFromFileInMemory(
        pd3dDevice, tex2, 65592, &m_pTB[1])))
return E_FAIL;



- benjamin
Avatar billede benjamin_ Nybegynder
13. september 2003 - 13:42 #1
den sidste del korrigeret..:
(det er ikke her fejlen var..)

filein2.open( "texture2.tex", ios::in | ios::binary | ios::nocreate, filebuf::openprot );
filein2    >> tex2;
if( FAILED( D3DXCreateTextureFromFileInMemory(
        pd3dDevice, tex2, 65592, &m_pTB[1])))
return E_FAIL;
Avatar billede jpk Nybegynder
13. september 2003 - 14:05 #2
Du bliver altså nødt til at forklare bedre end "kan ikke helt få det til at virke"!
Du skriver jo intet om hvad du får af fejl.
Kan det ikke kompilere?
crash'er det?
Har du undersøgt HRESULT-værdierne fra D3D-kaldene?

Du skriver at nogle at dine textures er et par megabyte i størrelse, men dine BYTE-arrays er ikke i nærheden af den størrelse..?
Avatar billede benjamin_ Nybegynder
13. september 2003 - 17:16 #3
Den melder ikke rigtig nogle fejl..
Jeg kan blot ikke se texturene efter at jeg har loadet..
Kun texture nummer 1.
Er det måden jeg henter dem ind i hukommelsen på?
Det er .bmp filer jeg bruger til textures.
Hvad gør >> operatoren ved indlæsning af en fil hvis der er et nul "0" i filen?  Stopper den med indlæsningen?


Mvh,
Benjamin.
Avatar billede benjamin_ Nybegynder
13. september 2003 - 17:17 #4
Kom gerne med en stump kode der virker..
Avatar billede benjamin_ Nybegynder
13. september 2003 - 20:00 #5
Jeg har vist løst problemet selv =)
Avatar billede jpk Nybegynder
15. september 2003 - 08:12 #6
Det er ofte meget hjælpsomt at bruge fuld debug output fra DX når du koder, det kan du gøre under Kontrolpanel->DirectX, fanebladet Direct3D...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester