Primitiev zeichnen mit OpenGL


  • Mod

    LukasBanana schrieb:

    Ja aber es gibt doch z.B. den "Bresenham-Algorithmus" um Linien, Ellipsen usw. zu zeichnen warum verwendet OpenGL denn den nicht?
    Der ist viel schneller als wenn man andauernd Vertexe zeichnet um einen Kreis zu zeichnen 😞

    ich glaube das war ne behauptung ins leere 😉



  • Vermutlich weil OpenGL hauptsächlich für 3D gedacht ist, und da braucht man nicht sehr oft 2D Kreise (oder andere Figuren), sonder eher 3 dimensionale Objekte. Und die kann man mit Dreiecken einfach schneller darstellen, weil die Grafikkarten darauf optimiert sind.

    lg, Mononofu



  • Kleiner Denkanstoß: Wie wird wohl eine Kugel dargestellt?

    😉



  • Ja schon klar, eine Kugel wird auch mit Triangles gerendert aber es wunderte mich nur dass man einen einfachen Kreis auch so darstellt.
    Aber okay, wenn die Grafikkarten darauf optimiert sind dann wird das wohl die einzig richtige Lösung sein.
    Danke

    Aber dann hab ich noch zwei kleine Fragen zu OpenGL:
    1. weiß jemand wie viel 'Trianlges' OpenGL ohne probleme darstellen kann, also dass es immer noch gut mit ca. 60 FPS läuft?
    2. Und wie stellt man am vernünftigsten eine dynamische Welt da, weil wenn ich so ca. 10.000 Dreiecke habe um meine Welt zu rendern und dann jedes Frame eine for-Schleife von 10.000 durchlaufen werden muss, dann wird mein Programm extrem langsam oder?



  • Mit Listen. Ich weiß jetzt nicht den genauen OpenGL Befehl, aber man kann verschiedene Aufrufe in einer Liste speichern und diese dann bequem wieder und wieder zeichnen lassen.
    Es gibt sicher noch andere Methoden, da schaust du am Besten:
    zu NeHe bei GameDev
    oder liest ein Buch, z. B. More OpenGL Programming oder Advanced OpenGL Programming (für deine Optimierungen da, zum Anfangen eher Beginning OpenGL Programming)

    lg, bloodycross



  • bloodycross schrieb:

    Mit Listen.

    Ganz gut sind sicher auch VBOs, die sollen noch mehr Performance bringen.



  • Verzeihung die Frage: aber was sind "VBOs"?




  • Mod

    vertexbuffer objects.

    versuch dich erstmal mit listen, das ist sehr trivial zu implementieren und kann manchmal schneller sein als VBOs.

    wolltest du nicht urspruenglich engines benutzen die das schon alles fertig bieten?



  • Ja, wollte ich, aber ich versuche mich eben mal an OpenGL.
    Also gut, ich werds mal mit den Vertex probieren um Primitiv zu zeichnen 🙂


Anmelden zum Antworten