DrawPrimitive zweiter Parameter???



  • Hallo,

    Bei meinem Buch ("Jetzt lerne ich Spieleprogrammierug mit DirectX und C++", von Christian Rousselle) wird beim einführen von Texturen ein Würfel zwei mahl gezeichnet, um zwei Texturen rauf zu Kleben.

    Codeausschnitt von Christian Rousselle:

    lpD3DDevice->SetTexture(0, &lpTexture1);
    lpD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST,0,6);

    lpD3DDevice->SetTexture(0, &lpTexture2);
    lpD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 18, 6);

    Meine Frage ist:
    Wieso hat er beim zweiten Parameter vom zweiten DrawPrimitive 18 zu stehen?

    Ich weiß, das Der Parameter dafür steht, wiefiele Dreiecke bei diesem DrawPrimitive nicht mitgerendert werden sollen, aber warum gerade 18?

    Wenn er bei den ersten 6 die erste Texture zeichnet, müsste man es doch einfach so schreiben können:

    lpD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 6,6);



  • 6 Dreiecke bestehen aus 18 Vertices

    Einfach die DirectX SDK verwenden - da steht:
    D3DPT_TRIANGLELIST
    Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle

    IDirect3DDevice9::DrawPrimitive Method
    ________________________________________
    Renders a sequence of nonindexed, geometric primitives of the specified type from the current set of data input streams.
    Syntax
    HRESULT DrawPrimitive(
    D3DPRIMITIVETYPE PrimitiveType,
    UINT StartVertex,
    UINT PrimitiveCount
    );



  • Die ersten 6 Dreiecke werden mit Textur1 gerändert und die nächsten 6 mit Textur2. Nach der Renderung von der ersten 6 Dreiecke musst du logischerweise für die nächsten sechs 18 Vertices im Vertexbuffer weitergehen.



  • > musst du logischerweise für die nächsten sechs 18 Vertices im Vertexbuffer weitergehen.

    guten morgen - das war eigentlich mit "6 Dreiecke bestehen aus 18 Vertices" gemeint



  • Versuch doch einfach mal Autocogito.

    Bye, TGGC (Pipe my World.)



  • Vertexwahn schrieb:

    > musst du logischerweise für die nächsten sechs 18 Vertices im Vertexbuffer weitergehen.

    guten morgen - das war eigentlich mit "6 Dreiecke bestehen aus 18 Vertices" gemeint

    Und? Darf man deshalb keine noch genauere Erklärung abliefern?



  • TGGC schrieb:

    Versuch doch einfach mal Autocogito.

    Darf ich mall wissen was du mit Autocogito meinst? Latein ist bei mir doch schon länger her aber cogito heißt "ich denke" und auto nehm ich mal an "automatisch" also "Ich denke automatisch"? Du meinst wahrscheinlich eher sowas wie "denke" also cogite oder so? Naja da sieht mans mal wieder die wo ein bischen Latein in der Schule gehabt haben wollen ein bischen angeben! (wie zb Curriculum Vitae im Lebenslauf... Mann wie ich das hasse)



  • > Und? Darf man deshalb keine noch genauere Erklärung abliefern?

    nein 😉 - mehr als die entsprechenden Ausschnitte aus der SDK zu kopieren halte ich für übertrieben 😉



  • dali schrieb:

    Naja da sieht mans mal wieder die wo ein bischen Latein in der Schule gehabt haben wollen ein bischen angeben!

    Schade das ich keins hatte, sonst könnt ich auch protzen.

    Bye, TGGC (Ein Jahr Helden)



  • Danke,
    Hat sehr gut funktioniert mit den Vertices. 👍



  • TGGC schrieb:

    dali schrieb:

    Naja da sieht mans mal wieder die wo ein bischen Latein in der Schule gehabt haben wollen ein bischen angeben!

    Schade das ich keins hatte, sonst könnt ich auch protzen.

    Mann ich rede über dich 😡 😃 😃 😃



  • Ich denke, du redest über Leute, die Latein hatten?

    Bye, TGGC (Ein Jahr Helden)


Anmelden zum Antworten