keine Farben bei "DrawPrimitiveUP" ???



  • Einen wunderschönen guten abend zusammen.
    Kann es sein, dass ich keine Farben für einzelne Vertices einstellen kann, wenn ich mit DirectX über die Methode "DrawPrimitiveUP" ein einfaches Dreieck darstellen will?
    Hab die Vertexstruktur wie folgt aufgebaut:

    struct SingleVertex
    {
    	float	x, y, z;
    	DWORD	color;
    };
    #define	D3DFVF_SINGLEVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)
    
    SingleVertex			g_avTri[3];
    

    Dann erzeuge ich einfach die Dreiecke:

    void CreateTriangle()
    {
    	SingleVertex v1, v2, v3;
    
    	v1.x = 0.0f;
    	v1.y = 1.0f;
    	v1.z = 13.0f;
    	v1.color = 0xFF0000;
    
    	v2.x = 1.0f;
    	v2.y = -1.0f;
    	v2.z = 13.0f;
    	v2.color = 0x00FF00;
    
    	v3.x = -1.0f;
    	v3.y = -1.0f;
    	v3.z = 13.0f;
    	v3.color = 0x0000FF;
    
    	g_avTri[0] = v1;
    	g_avTri[1] = v2;
    	g_avTri[2] = v3;
    }
    

    und schließlich Render ich sie einfach:

    void Rendern()
    {
    	g_lpD3DDevice->SetFVF(D3DFVF_SINGLEVERTEX);
    
    	g_lpD3DDevice->BeginScene();
    		g_lpD3DDevice->DrawPrimitiveUP(
    					D3DPT_TRIANGLELIST,
    					1,
    					&g_avTri[0],
    					sizeof(SingleVertex));
    	g_lpD3DDevice->EndScene();
    
    }
    

    Und alles was ich bekomme ist ein einfaches schwarzes Dreieck. Kann mir das jmd. erklären?



  • Du hast wahrscheinlich Lightning an und keine Lichtquelle 🙂

    MfG SideWinder



  • Ohne Licht ist es dunkel. Sehr dunkel.

    Bye, TGGC (You don't get it and never will)



  • SideWinder schrieb:

    Du hast wahrscheinlich Lightning an und keine Lichtquelle 🙂

    Dicke Shader, wie?! 🤡


Anmelden zum Antworten