[D3D] Metallischer Glanz



  • Wie kann ich möglichst einfach einen metallischen Effekt in D3D erzeugen? PixelShader und Reflektionstexturen wären zu aufwendig weil ich es nur in 2 Szenen brauche die relativ statisch sind.
    Ich habe in der SDK-Doku gelesen dass es irgendwie mit dem Material gehen müsste, bei mir funktioniert das aber nicht so richtig, es wird lediglich alles etwas heller was ich damit rendere.

    Hier mal mein Material:

    D3DMATERIAL8 mtrl;
    ZeroMemory(&mtrl, sizeof(mtrl));
    mtrl.Ambient.r  = 1.0f;
    mtrl.Ambient.g  = 1.0f;
    mtrl.Ambient.b  = 1.0f;
    
    mtrl.Diffuse.r = 0.2f;
    mtrl.Diffuse.g = 0.2f;
    mtrl.Diffuse.b = 0.2f;
    mtrl.Diffuse.a = 0.2f;
    
    mtrl.Power = 5.0f; // in der SDK steht dass 5.0 ein guter Wert für Metall ist.
    

    Wieso geht das nicht? Ich hab schon 3D Spiele gesehen die das so gemacht haben (Ultima 9). Es soll an den Stellen wo das Licht senkrecht einfällt etwas überbeleuchtet aussehen, Glanzpunkte also.

    😕



  • D3DRS_SPECULARENABLE auf TRUE gesetzt?
    Specular-Wert des Lichts ausgefüllt?



  • Hehe, jetzt gehts 😉

    Danke.


Anmelden zum Antworten