Wann kommt neues OpenGL?



  • Original erstellt von SnorreDev:
    Wenn du Klassen haben möchtest, dann nimm einen fertigen Wrapper, oder schreib dir einen. Ich finde das C Design sehr ansprechend

    Es ist ja richtig traurig, das es immer mehr Leute gibt die glauben das OOP nur aus Klassen besteht... tragisch... 😞



  • genau. schließlich gehören ja auch namensbereiche und überladene funcs dazu...



  • OpenGL ist eine einfache Statuspipeline, da macht OO nicht sehr viel Sinn bzw. gar keinen Sinn! Das ist ja gerade der Vorteil von OpenGL, da man es somit auch auf jede Plattform einsetzen kann. COM ist doch MS-spezifisch...

    Wenn ich aber etwas wie D3D habe, dann hab ich doch praktisch schon eine Mini-3D-Engine. OK, ich bin jetzt D3D-mäßig nicht auf dem neuesten Stand. Aber ich kann mich noch an DX 6.0 erinnern, da sah mir das verdammt nach eine Mini-3D-Engine aus. Auch Java3D ist OO und kommt mir einer Mini-3D-Engine nahe.

    OpenGL will das aber nicht, es soll einfach nur den Status des 3D-Chips setzen und man selber als Coder schiebt ein paar Daten durch die Pipeline. Fertig. Nur so ist gewehrleistet das es einfach und problemlos überall implementierbar ist. Wer OO will, muß ne 3D-Engine aufsetzen, fertig.



  • Original erstellt von Artchi:
    **OpenGL ist eine einfache Statuspipeline, da macht OO nicht sehr viel Sinn bzw. gar keinen Sinn! Das ist ja gerade der Vorteil von OpenGL, da man es somit auch auf jede Plattform einsetzen kann. COM ist doch MS-spezifisch...
    **

    Wieso macht OOP keinen Sinn dann??
    Was soll das bitte für ein "Vorteil" sein??
    Wieso kann man OOP NICHT auf jeder Plattform einsetzen??
    Warum verstehst Du unter OOP direkt COM??

    **Wenn ich aber etwas wie D3D habe, dann hab ich doch praktisch schon eine Mini-3D-Engine. OK, ich bin jetzt D3D-mäßig nicht auf dem neuesten Stand. Aber ich kann mich noch an DX 6.0 erinnern, da sah mir das verdammt nach eine Mini-3D-Engine aus. Auch Java3D ist OO und kommt mir einer Mini-3D-Engine nahe.
    **

    D3D = Mini-3D-Engine??
    Stimmt!
    g_pDirect3D = Direct3DCreate9(D3D_SDK_VERSION);
    g_pDirect3D->LoadLevel("TheLongestYard.bsp");

    OpenGL will das aber nicht, es soll einfach nur den Status des 3D-Chips setzen und man selber als Coder schiebt ein paar Daten durch die Pipeline. Fertig. Nur so ist gewehrleistet das es einfach und problemlos überall implementierbar ist. Wer OO will, muß ne 3D-Engine aufsetzen, fertig.

    ????? 😕 ?????

    Also wenn ihr alle so auf das 0ldsk00l Design abfahrt, wozu dann überhaupt OpenGL 2.0??
    Plagt euch weiter mit Hunderten völlig gleichberechtigter, ungeordneter Funktionen rum, und den geilen Extensions... 🙄



  • Also wenn ihr alle so auf das 0ldsk00l Design abfahrt, wozu dann überhaupt OpenGL 2.0??
    Plagt euch weiter mit Hunderten völlig gleichberechtigter, ungeordneter Funktionen rum, und den geilen Extensions...🙄

    was soll das heißen... sollen die ganzen funktionen private gemacht werden??
    wie soll man denn dann noch damit programmieren??

    und wo ist denn ogl bitte ungeordnet??

    ich würde nicht sagen, dass wir uns damit rumplagen...
    es ist wohl eher ein vergnügen 😃
    richtig müsste es dann heißen:

    Also wenn ihr alle so auf das 0ldsk00l Design abfahrt, wozu dann überhaupt OpenGL 2.0??
    vergnügt euch weiter mit Hunderten völlig gleichberechtigter, ungeordneter Funktionen, und den geilen Extensions...🙄

    :D:D:D

    mfg
    Plassy

    [ Dieser Beitrag wurde am 26.06.2003 um 12:29 Uhr von Plassy editiert. ]



  • Ich finde dann solltet ihr auch Vergnügungssteuer zahlen...! 🙂



  • Plag du dich doch mit dem alle 1,5 Jahre komplett neuen IFace rum - oder sind die steps nicht mehr so groß wie von 7 auf 8?

    Pst - sag das nicht zu laut mit der Vergnügunssteuer - sonst könnte es Schröder noch hören *g

    [ Dieser Beitrag wurde am 26.06.2003 um 13:45 Uhr von SnorreDev editiert. ]



  • Original erstellt von SnorreDev:
    Plag du dich doch mit dem alle 1,5 Jahre komplett neuen IFace rum - oder sind die steps nicht mehr so groß wie von 7 auf 8?

    Seit wann war der Stepp von 8 auf 9 groß? Okay von 7 auf 8 war sogesehen auch kein großer stepp nur für 3D, aber 2D absolut nicht. Ich weis gar net was ihr damit immer für probleme habt?



  • ich muss sagen, auch wenn d3d auf com aufbaut, merkt man davon eigentlich nichts. man muss zumindest nichts über com wissen um d3d benutzen zu können.

    was mich an opengl stört ist, das man einfach so mitten irgendwo im programmcode ein glVertex3f() hinschreiben kann. vollkommen zusammenhangslos. keiner weis wo das teil landet (klar es wird zur pipleine geschickt, aber trotzdem...). auch strukturierte designs sollten sich etwas an "oo" halten und sinnvolle strukturen bilden. ein einfaches glVertex3f hat nicht viel mit strukturierung zu tun finde ich, man sollte diese art der "3dporgrammierung" abschaffen und vollkommen durch vertexbuffer ersetzen, dann weiß auch jeder was gemeint ist.



  • hmm ... das stimmt auch wieder.



  • naja, vollkommen kann man sowas nicht verbieten. in c++ ist ja auch sowas "erlaubt" (kompilierbar):

    int* i = 0;
    *i = 7;
    


  • Würde euch so etwas gefallen?
    OGLGraphicDevice->gl2Vertex3f(...)

    Nein, das wäre knontraproduktiv. Wer sowas bastelt, hat keine Ahnung Objektorientierung.

    genau. schließlich gehören ja auch namensbereiche und überladene funcs dazu...

    Nein. Namensbereiche haben absolut nichts mit OO zu tun. Ob das Überladen von Methoden daugehört, darüber kann man sich streiten. Ich meine nein. (bitte nicht drauf eingehen, da das nicht zum Thema passtf="java\1: x

    Das ist ja gerade der Vorteil von OpenGL, da man es somit auch auf jede Plattform einsetzen kann

    Du bist immernoch eine Antwort Schuldig, warum OOP nicht Plattformübergreifend eingesetzt werden kann.

    Kann es sein, das nur die, die der Meinung sind Klassen == Objektorientierung hier posten (bis auf wenige Ausnahmen)? Es heißt Objektorientierung und nicht Klassenorientierung. Ist euch das schon mal aufgefallen?



  • ne klasse ist doch ein objekt...

    mfg
    Plassy



  • ...Ob das Überladen von Methoden daugehört, darüber kann man sich streiten

    nein darüber kann man sich absolut NICHT streiten. das überladen von funktionen hat überhaupt gar nichts mit objektorientierter programmierung zu tun! ich kann auch nicht nachvollziehen was daran so schwer zu verstehen sein sollte?!?



  • Original erstellt von Plassy:
    **ne klasse ist doch ein objekt...

    mfg
    Plassy**

    Naja aber daraus bestimmt nun wirklich nicht die 100%ige OOP. wenn nur so 15% höchstens! :p



  • @helium

    ich würde das nicht so streng sehen mit oo=klassenorientierung.

    klassen sind auch nur strukturen, und wenn du anstatt "class XYZ" "struct XYZ" benutzt und dann anstatt die funktionen IN die klasse selber schreibst, sie AUSSEN hin schreibst, ist das doch selbe nur in grün; deshalb gleich zu sagen: "man kann auch objektorientiert programmieren ohne "CLASSen" zu benutzen", dann ist das nicht richtig oder anders gesagt, nur die halbe wahrheit.

    es gibt halt viele programmierer die das nicht so bis ins detail sehen und deshalb sagen klassen=objekte und deshalb objektorientierte programmierung = programierung mit klassen. lass sie doch einfach.

    mit welcher sprache willst denn OHNE strukturen/klassen objekte bilden können und diese instanzieren? denn das bilden einer instanz ist ein wesentliches merkmal oop.



  • warum soll überladen von funktionen nicht zu oop gehören?
    ich kenne C nicht so genau, aber soweit ich weiß is das da nicht möglich
    😕



  • scheiße, vergesst mein letztes Posting. ich sag jetzt nix mehr dazu ....
    😕



  • ich wollte schon gerade sagen...

    das kann nicht dein ernst sein!



  • ne klasse ist doch ein objekt...

    Also das ist ja nun der größte Käse, den ich seit langem gehöt habe. Ich kann auch nicht sagen Holz ist ein Schrank, nur weil mein Schrank aus Holz ist.

    Das Objekt entsteht erst bei der Instanzierung der Klasse oder allgemeiner bei der Instanzierung des Typs.

    mit welcher sprache willst denn OHNE strukturen/klassen objekte bilden können und diese instanzieren? denn das bilden einer instanz ist ein wesentliches merkmal oop.

    Ein Objekt ist bereits eine Instanz und kann nicht mehr instanziert werden.

    int x; // jetzt hab ich eine Instanz von int erstellt
    
    struct Foo { ... } y; // jetzt hab ich ne Instanz von Foo erstellt.
    

    Ich sehe sofort, das das Instanzieren eines Typs absolut OOP-Typisch ist, da man weder in funktionalen noch struktorierten Sprachen Variablen verwendent. Denk darüber bitte nochmal nach. Das stimmt nämlich nicht so ganz.

    Der Unterschied leigt in folgendem:

    if (monster_x == held_x && monster_y == held_y) {
       held_leben = 0;
       spiel_beenden();
    }
    

    Nun erstelle ich doch mal schnell ein paar Klassen und denke ich könnte nun OO proggen.

    if (monster.x == held.x && monster.y == held.y) {
       held.leben = 0;
       spiel_beenden();
    }
    

    Und? Ist das OO? nicht wirklich.

    Versuchen wirs nochmal (natürlich verwenden wir wieder Klassen, aber etwas anders):

    if (monster.faeng(held)) {
       held.stirb();
       spiel_beenden();
    }
    

    Und tada. Selbst jemand, der nicht Progrmmieren, kann mit dem unteren fast was anfangen, wärend das obere eher nach Mathe aussieht.


Anmelden zum Antworten