[D3D9] Triangle Fans



  • Ich wollte mal kurz Triangle Fans testen. Also will ich aus X Dreiecken einen "Kreis" formen, v0=Mittelpunkt v1-vX sind die Punkte, vX+1 ist nochmal v1 damit der auch geschlossen wird.

    const int CIRCLE_VERTNUM = 8;
    T_VERTEX circle [CIRCLE_VERTNUM+2];
    
    circle[0].pos = D3DXVECTOR3(0,0,0);
    for(int i = 1; i < CIRCLE_VERTNUM+1; ++i)
    {
        float angle = (i-1) * (static_cast<float>(360)/CIRCLE_VERTNUM);
        float x = sinf(angle);
        float y = cosf(angle);
    
        circle[i].pos = D3DXVECTOR3(x,y,0);
    }
    
    circle[CIRCLE_VERTNUM+1].pos = circle[1].pos;
    
    // ...
    
    d3dd->DrawPrimitive(D3DPT_TRIANGLEFAN,0,CIRCLE_VERTNUM);
    

    Tjo aber das funktioniert nicht, da kommen die komischten Gebilde raus - bei CIRCLE_VERTNUM=8 schauts wenigstens nach Kreis aus. Was mach ich falsch? Dachte das brauch ich jetzt nur schnell eintippen und dann sowas 😞

    MfG SideWinder



  • Ich hab offenbar keine Ahnung vom Bogenmaß lol

    Thread closed, habs geschafft.

    MfG SideWinder


  • Mod

    float angle = (i-1) * (PI*2.f/static_cast<float>(CIRCLE_VERTNUM));
    

    mehr fehler fallen mir erstmal nicht auf.

    rapso->greets();


Log in to reply