DirectX Culling

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Eistee.

    DirectX Culling

    Moin,

    ich hab hier ein kleines Problem mit der Darstellung eines Modells.
    Es scheint als Ob das Model irgendwie eine Macke hat, weil von Vorne die faces nicht dargestellt werden.
    Cullmode ist:

    Quellcode

    1. /// <summary>
    2. /// Built-in raterizer state object with settings for culling primitives with counter-clockwise winding order (back facing).
    3. /// </summary>
    4. public readonly RasterizerState CullBack;


    Mein Würfel wird damit richtig gezeichnet nur eben das Modell nicht.
    Wenn ich mit der Camera in das Modell hinnein gehe wird es richtig Gezeichnet.
    Ist es möglich das ich mein Modelieren etwas falsch gemacht habe? Habe davon nämlich weniger wie keine Ahnung.

    Hier noch ein Bild:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Eistee“ ()

    Das Culling wird anhand von den Normalen der Vertices bestimmt.
    Also sorge dafür, dass die Normalen alle nach außen zeigen, wenn man das Objekt von außen sehen soll^^
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    @jvbsl: Ich hab mir das bei Wikipedia schonmal versucht anzusehen.
    Und wenn ich das richtig verstanden habe, müssten die faces hinten nicht gerendert werden, sondern nur die auf welche man schaut.
    Das Läuft auch beim Wüfel, nur ergibt es beim Modell kein Sinn wie da abgeschnitten wird..
    Mit "CullFront" Werden die Faces vorne (auf welche man schaut) dargestellt. 8|
    Aber bei den Reifen fehlen die hälfte der Faces (welche von vorne Sichtbar sind).
    Das muss doch am Modell liegen ?(
    @Eistee: das hab ich ja gesagt, dass du das Modell entsprechend modifizieren solltest.
    Die Normalen müssen nach außen zeigen. Bei Blender funktioniert die z.B. im Edit Mode indem du alle Vertices markierst und dann Recalculate Normals outdside machst(Strg+N)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Solch ein Model Format kenn ich jetzt nicht, gibts aber vmtl. schon. Müsstest aber nen Importer schreiben->kannst gleich ein eigenes Format machen.
    Außerdem ist das meines Erachtens auch nicht der richtige weg. Für mich müssen die Texturen schon vom Model getrennt sein. Dann kann man es leicht austauschen und Texturen auch öfters verwenden, oder auch TextureSheets erstellen(Speicherplatz+Performanceersparnis)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---