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
Zitat von »"Sk!p"«
punkt eins scheitert komischerweise daran dass wenn ich mit c4d ein model als 3ds speichere und dann in den modelkonverter importiere 0 vertizes 0 lichter etc. eingetragen werden...also entweder kann ich c4d net bedienen oder irgendwas stimmt mit der 3ds datei net
Zitat
Read3DSMaterialChunk habe ich wie folgt geändert:
C-/C++-Quelltext
1 2 3 4 5 6 7 8 9 10 11 12 13 14 case 0xA010: // Indirekte Farbe // Farbe einlesen pOut->AmbientColor = readColor(pVFile); break; case 0xA020: // Streufarbe // Farbe einlesen pOut->DiffuseColor = readColor(pVFile); break; case 0xA030: // Glanzfarbe // Farbe einlesen pOut->SpecularColor = readColor(pVFile); break;
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
tbColor readColor(tbVFile* pVFile) { tb3DSChunkHeader ChunkHeader; float fColor[3]; BYTE byteColor[3]; pVFile->Read(sizeof(tb3DSChunkHeader), &ChunkHeader); switch (ChunkHeader.wChunkID) { case 0x0010: // rgb color float format case 0x0013: // rgb color float format (gamma corrected) pVFile->Read(sizeof(FLOAT), &fColor[0]); pVFile->Read(sizeof(FLOAT), &fColor[1]); pVFile->Read(sizeof(FLOAT), &fColor[2]); return tbColor(fColor[0], fColor[1], fColor[2]); case 0x0011: // rgb color byte format case 0x0012: // rgb color byte format (gamma corrected) pVFile->Read(sizeof(BYTE), &byteColor[0]); pVFile->Read(sizeof(BYTE), &byteColor[1]); pVFile->Read(sizeof(BYTE), &byteColor[2]); return tbColor(byteColor[0], byteColor[1], byteColor[2]); default: return tbColor(0.0f, 0.0f, 0.0f); } } |
Werbeanzeige