C# und SFML.Net glätten (smoothing) einer texturierten shape (Kreis) funktioniert nicht

  • C#

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    C# und SFML.Net glätten (smoothing) einer texturierten shape (Kreis) funktioniert nicht

    Hallo liebe Leute,ich beschäftige mich seit gestern mit SFML.Net.Mein kleines Programm stellt nur eine texturierte Shape (Kreis) dar.Das funktioniert auch aber leider ist der Kreis an den Rändern sehr hart gezeichnet dh. kein AntiAliasing etc..
    Wäre suber wenn sich jemand mit SFML.Net ausennt und mir helfen könnte ;)
    Ich habe natürlich das kleine Programm mit der Textur angehängt!

    Ich nute Windows 10, Visual Studio 2019 und SFML.Net-2.4-32-bit.

    Vielen Dank schonmal!

    Zum besseren Verständnis hier ein Bild davon:



    Und hier mein Code:

    C#-Quellcode

    1. class Program
    2. {
    3. const int WIDTH = 640;
    4. const int HEIGHT = 480;
    5. const string TITLE = "First";
    6. static void Main(string[] args)
    7. {
    8. VideoMode mode = new VideoMode(WIDTH, HEIGHT);
    9. RenderWindow window = new RenderWindow(mode, TITLE);
    10. window.SetVerticalSyncEnabled(true);
    11. Texture texture = new Texture(@"E:\SFML\SFML_First\Gold.png");
    12. texture.Smooth = true;
    13. CircleShape cshape = new CircleShape(50);
    14. cshape.TextureRect = new IntRect(10, 10, 100, 100);
    15. cshape.Texture = texture;
    16. while (window.IsOpen)
    17. {
    18. window.DispatchEvents();
    19. window.Clear(Color.Black);
    20. window.Draw(cshape);
    21. window.Display();
    22. }
    23. }
    24. }



    Viele Grüße,
    Sebastian
    Dateien
    • SFML_First.7z

      (1,86 MB, 46 mal heruntergeladen, zuletzt: )
    ​There's no option to anti-alias a single shape. To get anti-aliased shapes (i.e. shapes with smoothed edges), you have to enable anti-aliasing globally when you create the window, with the corresponding attribute of the sf::ContextSettings structure.


    Letzter Eintrag:
    Shapes
    @SebastianHuggbard Kannst Du noch mal die Lösung so zusammenfassen, dass alles in einem einzigen Post bzw. Snippet steht?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!