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

01.03.2007, 18:50

Model-Probleme -- Beleuchtung

Wenn ich Modelle von 3ds in tbm exportiere und dann in meinem programm lade, werden die Texturen und materialien viel zu hell dargestellt. Dass modell sieht fast weiß aus. Hat jmd ne ahnung warum :?: Hier mal der Code:

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
28
29
30
31
32
33
34
35
tbMatrix mCamera;
    tbVector3 vCameraDir;
    

    tbDirect3D& D3D = tbDirect3D::Instance();
    D3D->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, tbColor(0.2f, 0.2f, 0.2f), 1.0f, 0);
    D3D->BeginScene();

    D3D.SetTransform(D3DTS_PROJECTION, tbMatrixProjection(TB_DEG_TO_RAD(90.0f), (float)(m_Config.Direct3D.VideoMode.Width)/(float)(m_Config.Direct3D.VideoMode.Height), 0.1f, 100.0f));
    vCameraDir = tbVector3(0.0f);
    mCamera = tbMatrixCamera(m_vCameraPos, vCameraDir);
    D3D.SetTransform(D3DTS_VIEW, mCamera);

    D3DLIGHT9 Light;
    ZeroMemory(&Light, sizeof(D3DLIGHT9));
    Light.Type = D3DLIGHT_DIRECTIONAL;
    Light.Diffuse = tbColor(0.5f, 0.5f, 0.5f);
    Light.Ambient = tbColor(0.5f, 0.5f, 0.5f);
    //Light.Specular = tbColor(0.0f, 0.0f, 0.0f);

    Light.Direction = vCameraDir - m_vCameraPos;
    D3D->SetLight(0, &Light);
    D3D->LightEnable(0, true);
    // -----------------------------------------------------------------------------------------


    D3D.SetTransform(D3DTS_WORLD, m_World);

    if(m_pModel)
        m_pModel->Render();
    char cText[100];
    sprintf_s(cText, "Scal: %.1f Rot: %d °", m_fDist, (int)(TB_RAD_TO_DEG(m_fRot))%360);
    m_pFont->Begin();
    m_pFont->DrawText(tbVector2(0.9f, 0.1f), cText);
    m_pFont->End();
    
    D3D->EndScene();

Phili

unregistriert

2

01.03.2007, 18:56

wenn das Problem nur bei Konvertierten Modellen auftritt wird das kaum an deinem Code liegen. Ich geh mal von fehlerhaften Normalenvektoren aus.

3

01.03.2007, 19:34

also ich hab die modelle mit 3DsMax exportiert...

4

07.03.2007, 13:51

Hab dass Problem endlich gelöst :) Die Modelle waren schlicht und ergreifend zu groß :roll: :D

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

5

07.03.2007, 14:11

Zitat von »"raptor22"«

die Texturen und materialien [werden] viel zu hell dargestellt. Dass modell sieht fast weiß aus.

...

Zitat von »"raptor22"«

Hab dass Problem endlich gelöst :) Die Modelle waren schlicht und ergreifend zu groß :roll: :D


Ich kann mir ehrlich gesagt nicht vorstellen, dass das die Ursache war. Wie Phili gesagt hat, hoechstwahrscheinlich stimmte etwas mit deinen Modellen nicht: Normalenvektoren, uvw-Koordinaten,..
"Have you tried turning it off and on again?"

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

6

07.03.2007, 14:49

was normaler weise hätte passieren können, bei zu großen modellen, dass man gar nichts sieht.

Phili

unregistriert

7

07.03.2007, 14:57

Vieleicht wurden irgendwie die Normalenvektoren skaliert...

Werbeanzeige