direct x dreiech zeichnen



  • Hacker schrieb:

    lolalter schrieb:

    Du bist so grandios an GDI+ gescheitert. Lass bitte einfach die Finger von DirectX, OpenGL und sonstigem Spielzeug für Erwachsene.

    Heißt das, ich bin erwachsen? *glotz augen glänzen*

    Erwachsene/Gewachsene/Erfahrene/Fähige Programmierer -> Nein.
    Du wirst mal gut in vielleicht 5 Jahren. Ich wäre nur froh, wenn Du bis dahin etwas stiller sein würdest. Deine Failrate dürfte so geschätzt bei 80% liegen. Das tut Deinem Ruf nicht gut. Es tut den Fragenden nicht gut. Es tut den Erfahrenen nicht gut. Es tut dem Forum nicht gut.
    Du bist sicher besser als viele andere es in Deinem Alter gewesen sind. Aber Du bist noch nicht so weit hier tagtäglich Fragen zu beantworten. Vielleicht beherzigst Du das ja mal.



  • blurry333 schrieb:

    Hallo,

    wieso zeichnet directx nur im Uhrzeigersinn.

    CustomVertex.PositionOnly[] verts = new CustomVertex.PositionOnly[]
                    {
                        new CustomVertex.PositionOnly(0.5f, 0.5f, 0),
                        new CustomVertex.PositionOnly(0f, 1, 0),
                        new CustomVertex.PositionOnly(-0.5f, 0.5f, 0)
                        
                    };
    

    Das Koordinatensystem entspricht dem was man in der Schule lernt.

    CustomVertex.PositionOnly[] verts = new CustomVertex.PositionOnly[]
                    {   
                        new CustomVertex.PositionOnly(0f, 1, 0),
                        new CustomVertex.PositionOnly(0.5f, 0.5f, 0),
                        new CustomVertex.PositionOnly(-0.5f, 0.5f, 0)
                        
                    };
    

    jetzt wirds gezeichnet. Weil es im Uhrzeigersinn ist.

    Ach, dazu: du weißt, dass DirectX "dreht", indem du das Dreieck transformierst? Mit einer Rotation wie bspw.

    D3DXMatrixRotationX(&deineMatrix, D3DXToRadian(10));
    

    drehst du es in die eine,

    D3DXMatrixRotationX(&deineMatrix, D3DXToRadian(-10));
    

    so (AFAIR!) in die andere Richtung. Also clock- und counterclock-wise.



  • Hacker, du hättest auf lolalter hören sollen.

    Aber mal zur Frage:
    DirectX benutzt die Punkte des Dreiecks um die Normale zu bestimmen. Die Normale wiederum wird verwendet um zu berechnen, ob das Dreieck in Richtung des Beobachters(=sichtbar) oder von ihm weg(=unsichtbar) zeigt. Schlussendlich ist diese Richtung der Normalen davon abhängig, in welcher Reihenfolge die Punkte angegeben werden.



  • Hacker schrieb:

    Ach, dazu: du weißt, dass DirectX "dreht", indem du das Dreieck transformierst? Mit einer Rotation wie bspw.

    D3DXMatrixRotationX(&deineMatrix, D3DXToRadian(10));
    

    drehst du es in die eine,

    D3DXMatrixRotationX(&deineMatrix, D3DXToRadian(-10));
    

    so (AFAIR!) in die andere Richtung. Also clock- und counterclock-wise.

    q.e.d.



  • Könnte man nicht theoretisch auch drehen, in dem man 360 - die anzahl der Grade, die gedreht werden sollen dreht (theoretisch)? Also ein Grad pro Sekunde counterclockwise = 359 Grad pro Sekunde clockwise?



  • da shat nichts mit dem Thema zu tun? Genau 0?



  • otze schrieb:

    da shat nichts mit dem Thema zu tun? Genau 0?

    Wieso? So wie's aussieht will er wissen, wieso directx nur im Uhrzeigersinn dreht.
    Deswegen hat dieser Vorschlag, wie er auch gegen den Uhrzeigersinn drehen kann, überhaupt nicht '0' mit dem Thema zu tun.



  • otze schrieb:

    ob das Dreieck in Richtung des Beobachters(=sichtbar) oder von ihm weg(=unsichtbar) zeigt.

    Und - kannst ja gern meckern wenn ich mich irre- ist das nicht ein Wert, der mit

    SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);
    

    verändert werden kann - so das beide Seiten des Dreiecks gezeichnet werden.



  • Hacker schrieb:

    Wieso? So wie's aussieht will er wissen, wieso directx nur im Uhrzeigersinn dreht.

    Genau das will er nicht wissen. Er gibt einmal die Punkte im Uhrzeigersinn und einmal entgegen an und wundert sich, dass er nur das eine sieht.

    zu deinem nächsten Post: kann sein. Ich kenne das Interface von DirectX nicht. im Allgemeinen ist es aber besser, den Cullmode so zu verwenden wie er jetzt ist und ihn dafür zu verstehen. Culling auszuschalten ist wie die Handbremse ziehen.



  • otze schrieb:

    Hacker schrieb:

    Wieso? So wie's aussieht will er wissen, wieso directx nur im Uhrzeigersinn dreht.

    Genau das will er nicht wissen. Er gibt einmal die Punkte im Uhrzeigersinn und einmal entgegen an und wundert sich, dass er nur das eine sieht.

    Ahhhh.... ich verstehe seine "Ausdrucksweise" schlecht.. 😮


Anmelden zum Antworten