none
SharpDX > Fillmode RRS feed

  • Frage

  • Hallo,

    ich versuche nun seit 3 Tagen mit SharpDX eine Geometry zu erzeugen die mehrere Figuren beinhaltet. Dies funktioniert auch soweit. Aber wenn sich zwei Figuren schneiden bleibt die Schnittfläche leer. Ich versuche übrigens die Geometry zu füllen. Von GDI+ kenne ich Fillmode = Alternate oder Winding, dieses gibt es bei SharpDX auch, aber es zeigt keine Wirkung.

    Ich habe versucht 2 Figuren in einer Geometry zu erstellen, 2 getrennte Figuren in verschieden Geometries zu erzeugen und diese dann in einer GeometryGroup zu vereinen und zwei Geometries zu einer zu kombinieren. Alles mit dem selben Erfolg, die Schnittflächen bleiben frei.

    Ich hoffe hier kann mir jemand helfen auch wenn es nicht ein reines C#-Problem ist.

    Danke für jede Hilfe

    Gruß Scotty

    Samstag, 28. September 2013 16:30

Antworten

  • Hallo Scotty,

    in der SharpDX-Dokumentation kann man lesen, dass man eine GeometryGroup u.a. über den Aufruf von CreateGeometryGroup() erstellen kann. Der Wert der FillMode-Enumeration der an die CreateGeometryGroup()-Methode übergeben wird, bestimmt wie die resultierende Fläche gefüllt wird.

    Im Quellcode von GeometryGroup steht dann etwas mehr:

    "Geometry groups are a convenient way to group several geometries simultaneously so all figures of several distinct geometries are concatenated into one. To create a SharpDX.Direct2D1.GeometryGroup object, call the CreateGeometryGroup method on the SharpDX.Direct2D1.Factory object, passing in the fillMode with possible values of SharpDX.Direct2D1.FillMode.Alternate and D2D1_FILL_MODE_WINDING, an array of geometry objects to add to the geometry group, and the number of elements in this array."

    Sieh dir bitte auch die originale Dokumentation auf MSDN an und versuch das dort angezeigte Beispiel mittels SharpDX nachzuprogrammieren. Solltest Du abweichende Ergebnisse erhalten, müsste man sich mit dem Hersteller des verwalteten Wrappers darüber unterhalten.

    Gruß
    Marcel

    • Als Antwort vorgeschlagen Ciprian Bogdan Donnerstag, 3. Oktober 2013 19:07
    • Als Antwort markiert Ciprian Bogdan Mittwoch, 23. Oktober 2013 08:35
    Sonntag, 29. September 2013 08:30
    Moderator