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

16.01.2005, 19:58

models laden??

also ich scheitere an meine game im moment eigentlich nur daran eigens erstellte models zu laden...

dazu gibts ja zwei möglichkeiten

1) datei als *.tbm importieren
2) als x-Datei importieren

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

ich habs also mit punkt 2 versucht der aber daran scheiterte dass ich irgendnen unaugelösten externen verweis bekam und auch nicht weiß was ich da vergessen haben soll zu linken denn auch als ich die projekteinstellungen aus den beispielprogrammen von davids buch übernommen hab war der fehler noch da...

also was tun zum teufel ^^

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

16.01.2005, 20:06

code posten.....

3

16.01.2005, 20:14

Denn ersten Punkt kann man beheben wenn man die suche benutzt. :angel:

Egal, auf jeden fall, denn Thread mal kommplet durchlesen:https://www.spieleprogrammierer.de/index…viewtopic&t=381 Da steht was du am Model-Konverter ändern musst damit es funzt.

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

4

16.01.2005, 20:31

Re: models laden??

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


das liegt nicht an dir oder c4d, sondern am konverter. dieser hat ein paar probleme mit der 3ds datei von cinema, da dieses die farbwerte als float speichert und der modelconverter nur die byte version beherrscht. musst deinen converter nur wie in den threads beschrieben verändern, dann solltes klappten...

5

19.01.2005, 20:41

also ich bin bis zu dem punkt gekommen:

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; 


allerdings finde ich diese funktion net...in welcher datei soll die sein? O_o

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

6

19.01.2005, 21:04

das liegt daran, dass es sie "noch nicht gibt".

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);
    }
}

7

20.01.2005, 14:21

nein falsch...

readcolor hab ich schon...aber Read3dsmaterialchunk find ich net :o)

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

8

20.01.2005, 18:12

aso. in der tb3DSRreader.cpp.... (musst die enigne neu compilieren)

9

20.01.2005, 20:14

scheiß windows-suche -.-

kommt da dann ne dll raus? :]

Dave

Alter Hase

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

10

20.01.2005, 22:16

du musst die dll neu erstellen....

Werbeanzeige