Einige allgemeine technische Fragen zu OpenGL



  • Hallo,

    ich hab einige Fragen zu OpenGl.

    So wie ich das jetzt verstanden habe, gibt es kein offizielles "OpenGl-SDK" oder irgendeine API, sondern nur (inoffizielle) Implementierungen.

    Was ich hier nicht verstehe: Was genau muss ich da implementieren?

    Ich will mich nämlich jetzt auf die lowlevel-Ebene in der Grafikprogrammierung begeben. Ich weiß, eigentlich sollte man solche "Eigenlösungen" nicht einsetzten, aber es geht mir hier eher darum, zu verstehen, wie genau das mit OpenGl funktioniert.

    Was brauch ich? C und Assembler sollte doch reichen, oder?



  • ich versteh nichts schrieb:

    ich hab einige Fragen zu OpenGl.

    fuer gfx gibt es hier ein supforum und da knnst du auch als gast posten 😉

    So wie ich das jetzt verstanden habe, gibt es kein offizielles "OpenGl-SDK" oder irgendeine API, sondern nur (inoffizielle) Implementierungen.

    es gibt viele offizielle implementierungen, jeder graphikkarten hersteller bietet eine. es gibt auch einige SDKs, je nachdem welche OpenGL version du nutzen willst, aber normalerweise kommen die IDEs schon mit den noetigen headern und libs fuer das jeweilige OS.

    Was ich hier nicht verstehe: Was genau muss ich da implementieren?

    meinst du wenn du ein eigenes OpenGL implementieren moechtest wie es z.B. MESA macht, oder wenn du ein objekt zeichnen willst? oder wenn du ein fenster intialisieren willst? (im letzteren fall waere es wichtig dein OS zu wissen).

    Ich will mich nämlich jetzt auf die lowlevel-Ebene in der Grafikprogrammierung begeben. Ich weiß, eigentlich sollte man solche "Eigenlösungen" nicht einsetzten, aber es geht mir hier eher darum, zu verstehen, wie genau das mit OpenGl funktioniert.

    ich wuerde da mal in MESA reinschauen, da kannst du vom state management, ueber matrix stack bis rasterisierung alles erfahren. ich finde zumindestens sources oft eindeutiger und logischer als text dokus wenn man 'low level' dinge erfahren will.

    Was brauch ich? C und Assembler sollte doch reichen, oder?

    an sich reicht jede sprache, sowohl fuer die implementierung von opengl wie auch fuer die nutzung. z.b. http://pyopengl.sourceforge.net/



  • Was ich hier nicht verstehe: Was genau muss ich da implementieren?

    meinst du wenn du ein eigenes OpenGL implementieren moechtest wie es z.B. MESA macht, oder wenn du ein objekt zeichnen willst? oder wenn du ein fenster intialisieren willst? (im letzteren fall waere es wichtig dein OS zu wissen).

    Beides. Für den Anfang würde mir eine einfache Linie oder so reichen. Ich benutze Linux.

    Ich will mich nämlich jetzt auf die lowlevel-Ebene in der Grafikprogrammierung begeben. Ich weiß, eigentlich sollte man solche "Eigenlösungen" nicht einsetzten, aber es geht mir hier eher darum, zu verstehen, wie genau das mit OpenGl funktioniert.

    ich wuerde da mal in MESA reinschauen, da kannst du vom state management, ueber matrix stack bis rasterisierung alles erfahren. ich finde zumindestens sources oft eindeutiger und logischer als text dokus wenn man 'low level' dinge erfahren will.

    Ok, aber hättest du zufällig ein paar Links zu "text dokus"?



  • ich versteh nichts schrieb:

    Was ich hier nicht verstehe: Was genau muss ich da implementieren?

    meinst du wenn du ein eigenes OpenGL implementieren moechtest wie es z.B. MESA macht, oder wenn du ein objekt zeichnen willst? oder wenn du ein fenster intialisieren willst? (im letzteren fall waere es wichtig dein OS zu wissen).

    Beides. Für den Anfang würde mir eine einfache Linie oder so reichen. Ich benutze Linux.

    da gibt es quasi "DAS TUTORIAL": http://nehe.gamedev.net/

    Ich will mich nämlich jetzt auf die lowlevel-Ebene in der Grafikprogrammierung begeben. Ich weiß, eigentlich sollte man solche "Eigenlösungen" nicht einsetzten, aber es geht mir hier eher darum, zu verstehen, wie genau das mit OpenGl funktioniert.

    ich wuerde da mal in MESA reinschauen, da kannst du vom state management, ueber matrix stack bis rasterisierung alles erfahren. ich finde zumindestens sources oft eindeutiger und logischer als text dokus wenn man 'low level' dinge erfahren will.

    Ok, aber hättest du zufällig ein paar Links zu "text dokus"?

    du musst schon konkreter sagen was genau, momentan wuerde ich nur 'opengl' in google tippen und dir alle links hier posten, sicherlich nicht was ich als hobby tun moechte und nichts was dir hilft 😉



  • Ja, aber das ist doch ein OpenGl-Programmiertutorial.

    Ich will OpenGL implementieren.


  • Mod

    ich versteh nichts schrieb:

    So wie ich das jetzt verstanden habe, gibt es kein offizielles "OpenGl-SDK" oder irgendeine API, sondern nur (inoffizielle) Implementierungen.

    Falsch. OpenGL ist eine API. Lies den Link, was eine API ist. Diese API wird von verschiedenen Herstellern (normalerweise Grafikkartentreiberschreibern) implementiert. Die OpenGL-Api legt fest, welche Funktionen es geben muss, wie sie heißen, was sie machen, usw. Aber bloß als abstrakte Spezifikation. Die konkrete Implementierung ist dann ein Bibliothek, die diese Funktionen anbietet.

    Falls du dich mit C oder C++ auskennst: Das ist so wie mit dem Sprachstandards und der konkreten Umsetzung durch den Compiler eines Herstellers. OpenGL ist dabei wie der Sprachstandard.

    Was ich hier nicht verstehe: Was genau muss ich da implementieren?

    Das hier (die "specifications"):
    http://www.opengl.org/registry/

    Viel Spaß! Allein das Lesen dürfte ein paar Monate bis Jahre dauern.

    Ich will mich nämlich jetzt auf die lowlevel-Ebene in der Grafikprogrammierung begeben. Ich weiß, eigentlich sollte man solche "Eigenlösungen" nicht einsetzten, aber es geht mir hier eher darum, zu verstehen, wie genau das mit OpenGl funktioniert.

    Du verstehst nicht, wovon du redest. Brich ab, bevor du anfängst.

    Was brauch ich? C und Assembler sollte doch reichen, oder?

    Wozu C, wozu Assembler? Du verstehst nicht, wovon du redest. Du sollst eine Schnittstelle anbieten. Ob du die in Assembler oder in Haskell schreibst ist egal, Hauptsache, die Schnittstelle macht, was die Spezifikation sagt.

    Dummerweise brauchst du natürlich irgendeine Art von Grafikausgabe. Normalerweise wird OpenGL vom Grafiktreiber implementiert. Sofern du nicht überraschenderweise die Ressourcen haben solltest, einen Grafiktreiber zu schreiben, wirst du wohl am Ende bloß wieder die OpenGL-Funktionalität des unterliegenden Grafiktreibers nutzen.

    Ich hoffe, dir ist klar geworden, dass das Vorhaben grober Unfug ist, geboren aus Unwissen darüber, was überhaupt genau OpenGL ist.



  • ich versteh garnichts schrieb:

    Ja, aber das ist doch ein OpenGl-Programmiertutorial.

    dachte du willst eine linie zeichnen mit opengl. da du sagtest "beides"

    Ich will OpenGL implementieren.

    dann bleibt dir echt nur bestehende sourcen durchzugehen. du findest zu einzelnen themenbereiche paper z.b. rasterisierung:
    http://www.cs.unc.edu/~olano/papers/2dh-tri/

    aber kein text dokument mit a bis z einer opengl implementierung, das waere ein 10k seiten buch fuer 100leute auf der welt als zielgruppe 😉



  • @TS

    Wenn du etwas sinnvolles machen willst, dann schreibe lieber eine Emulation des VSA-100 Grafikchip für den BOCHS Emulator.

    DAMIT wärst du SEHR LOW LEVEL, genau so wie du es dir wünschst.

    Und das Beste von allem wäre noch, dass das BOCHs Projekt davon profitieren würde, wenn du dafür so eine Grafikchipemulation schreibst.

    Der VSA-100 Grafikchip wurde damals in die Voodoo 5 Grafikkarten verbaut, ist also Glide Kompatibel.

    Alterantiv dazu könntest du auch beim MESA Projekt mitarbeiten, die machen eine OpenGL Implementierung. Allerdings hast du hier weniger Freiheiten als wenn du von Scratch nen VSA-100 Emulation für Bochs schreibst.



  • ich versteh garnichts schrieb:

    Ja, aber das ist doch ein OpenGl-Programmiertutorial.

    Ich will OpenGL implementieren.

    Dafür solltest Du neben einem guten Grund auch OpenGL verstehen.

    Bist Du sicher, dass Du eine Implementation von OpenGL erstellen willst, also eine DLL gegen die Programme und Spiele programmieren können, um ihre Grafikausgaben zu machen?



  • Xin schrieb:

    ich versteh garnichts schrieb:

    Ja, aber das ist doch ein OpenGl-Programmiertutorial.

    Ich will OpenGL implementieren.

    Dafür solltest Du neben einem guten Grund auch OpenGL verstehen.

    Bist Du sicher, dass Du eine Implementation von OpenGL erstellen willst, also eine DLL gegen die Programme und Spiele programmieren können, um ihre Grafikausgaben zu machen?

    ja. auch wenn, wie hier einige schlauköfe schon bemerkt haben (obwohl ichs im eingangs post erwähnt hab), nicht viel von OpenGl weiß.

    Muss ich mich halt nochmal informieren.



  • Ok, ein Troll.

    Damit ist alles gesagt.


Log in to reply