LevelEditor und eine karrierte 0 Ebene ?



  • Hi!

    ICh schreibe gerade an einem LevelEditor mit DirectX9. schön und gut 🙂
    ICh habe nun in meiner 3D Ansicht meine Objekte.

    Ich möchte aber gerne wissen, wo die 0-Ebene ist und die verschiedenen x, y u. z axen. Bei Milkshape hat jede Axe eine eigene Farbe. und die 0-Ebene ist mit einem Gitter ausgestatet.

    Frage:
    Wie macht man sowas ?
    Vielleicht mit Polygonen und Texturen ?

    Und wie mach ich das mit den Axen ?

    Grüsse



  • Du möchtest also die verschiedenen Achsen darstellen, sowie den Punkt (0,0,0) ?

    Einfach 3 Linien zeichnen :
    von (0,0,0) --> (0,0,10) und
    von (0,0,0) --> (0,10,0) und
    von (0,0,0) --> (10,0,0)

    Farben nach persönlichem Geschmack verändern 🙂



  • Das geht doch nicht in D3D Oder ? Also eine 3D Linie ?



  • *lol* wieso soll das denn nicht gehen? solltest du nicht bevor du mit einem so großen projekt wie einem leveleditor beginnst einmal richtig d3d lernen?



  • Hi!
    Ich habe jetzt folgenden Code. Aber der funtzt irgentwie nicht.

    #define D3DFVF_LINEVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)
    struct LINEVERTEX
    {
        float x,y,z;
        DWORD color;        // The vertex color
    };
    
    LPDIRECT3DVERTEXBUFFER9 g_pLVB        = NULL; // Buffer to hold vertices
    
    ...
    
        LINEVERTEX Vertices[] = 
        {
        { 0.0,  0.0, 0.0, D3DCOLOR_XRGB( 255, 255, 255),},
        { 0.0,  0.0, 10.0, D3DCOLOR_XRGB( 255, 255, 255),},
    
        { 0.0,  0.0, 0.0, D3DCOLOR_XRGB( 255, 0, 0),},
        { 0.0,  10.0, 0.0, D3DCOLOR_XRGB( 255, 0, 0),},
    
        { 0.0,  0.0, 0.0, D3DCOLOR_XRGB( 0, 255, 255),},
        { 10.0,  0.0, 0.0, D3DCOLOR_XRGB( 0, 255, 255),},
    
        };
    
        // Create the vertex buffer.
        if( FAILED( pGraphics->GetDevice()->CreateVertexBuffer( 6*sizeof(LINEVERTEX),
                                                      0, D3DFVF_CUSTOMVERTEX,
                                                      D3DPOOL_DEFAULT, &g_pLVB, NULL ) ) )
        {
            return E_FAIL;
        }
    
        // Fill the vertex buffer.
        if( FAILED( g_pLVB->Lock( 0, sizeof(Vertices), (void**)&pVertices, 0 ) ) )
            return E_FAIL;
        memcpy( pVertices, Vertices, sizeof(Vertices) );
        g_pVB->Unlock();
    
    ...
    
    // Render
            // Render the vertex buffer contents
            pGraphics->GetDevice()->SetStreamSource( 0, g_pVB, 0, sizeof(CUSTOMVERTEX) );
            pGraphics->GetDevice()->SetFVF( D3DFVF_CUSTOMVERTEX );
            pGraphics->GetDevice()->DrawPrimitive( D3DPT_TRIANGLESTRIP, 0, 3 );
    

    Aber ich sehe einfach nichts...

    Die Funktionen Clear & Present rufe ich auch auf.. und ich render dazu noch ein Dreieck, das ich richtig angezeigt bekommen..

    Wo ist mein Fehler ?



  • Hi
    Klappt Danke !!!!


  • Mod

    @coder

    hast du ne hp wo man sich dann mal deinen editor ansehen kann?

    rapso->greets();



  • Hi!
    Der Editor ist zu meinem Spiel. Sobald és eine kleine Demo. mit Editor gibt werde ich es hier bestimmt posten.


Anmelden zum Antworten