Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 06.01.2003, 14:09 Titel: |
|
|
Achso, ja. Du musst (BYTE**) anstatt (void**) schreiben, wenn du DirectX 8 benutzt. Bei DX9 wird ein void*-Pointer benötigt. _________________ www.messiahzone.de.vu |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 06.01.2003, 14:17 Titel: |
|
|
hmm, vielen Dank!
Aber ne Frage dazu: Ist dass denn nich gegen das konzept von COM? Das is ja dann nimmer abwärtskompatibel??? |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 06.01.2003, 15:02 Titel: |
|
|
Es ist schon nervig, dass man die Parameter überall ändern muss, aber die alte Version 8 (und die vorherigen) von DirectX gibt es immer noch, man muss halt nur andere Header einbinden. Von daher wird das COM-Konzept schon eingehalten. _________________ www.messiahzone.de.vu |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 06.01.2003, 15:53 Titel: |
|
|
hmm, also ich hab jetzt folgendes Prob: ICh will die "attribute table" haben, und ruf die funktion, wi Jörg gesagt hat, folgendermaßen auf:
Code: |
//Get the attribute table of the mesh:
hr = D3DObjDesc->lpMesh->GetAttributeTable( AttribTable, &dwTableElements );
|
"hr" hat danach den Wert "0", also erfolgreich. Aber in AttribTable[0], steht bei allen Werten "Fehler, Ausdruck kann nicht ausgewertet werden." drin.
Ich hab die beiden Variablen folgendermaßen initialisiert:
Code: |
//Attribute table:
D3DXATTRIBUTERANGE*AttribTable = NULL;
//Elements of the table:
DWORDdwTableElements;
|
Hat jemand von euch ne Idee? |
|
Nach oben |
|
|
Jörg JLI MVP
Anmeldedatum: 19.07.2002 Beiträge: 182 Wohnort: Siegen/NRW Medaillen: Keine
|
Verfasst am: 06.01.2003, 20:55 Titel: |
|
|
AttribTable muss auf gültigen Speicher zeigen. Wenn du bei GetAttributeTable() NULL als ersten Parameter angibst, wird in dwTableElements nur die Anzahl der Attribute geschrieben (steht aber auch in der Doku). Du könntest das so machen:
Code: |
//Attribute table:
D3DXATTRIBUTERANGE* AttribTable = NULL;
//Elements of the table:
DWORD dwTableElements;
pMesh->GetAttributeTable(NULL,&dwTableElements);
AttribTable=new D3DXATTRIBUTERANGE[dwTableElements];
pMesh->GetAttributeTable(AttribTable,&dwTableElements);
|
_________________ www.messiahzone.de.vu |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 16.03.2003, 18:05 Titel: |
|
|
Wie kann man denn das Material eines Polygons verändern??? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
|