ogl neulingsfragen



  • edit: mist irgendwas is falschgelaufen... bidde ins grafikforum verschieben

    hab am wochenende mal die ersten 14 nehe tuts durchgearbeitet ... und deswegen gleich ne menge offener fragen an euch :p

    1. gibts n praktischen unterschied zwischen GLvoid und void?
    2.warum ist es nötig immer translate, rotate etc. zu benutzen bevor man objekte zeichnet? kann man nich direkt von 0,0,0 aus zeichnen?
    3.is milkshape 3d handlich für objekte/levels? bzw. bekommt man gescheite exportfiles?
    4.wo find ich n tut das allgemein den aufbau erklärt (inhalt objektfile, inhalt mapfile... vorgehensweise beim rendern)
    5.wieviele triangles auf einmal sind für n 400mhz rechner mit gforce2mx in etwa noch gut tragbar?
    6.wieviele partikel (jeweils 2 triangles) sollte eine partikelengine auf dem gleichen rechner verwenden (jedes dreieck wird bei jedem frame neu berechnet... deswegen wahscheinlich mehr brechnungsdauer bei der gleichen anzahl von triangles)

    ok des wars erstmal und danke im vorraus für die antworten
    gruss sov

    [ Dieser Beitrag wurde am 27.01.2003 um 16:35 Uhr von Sovok editiert. ]



  • zu 1.) reíne definitionsfrage - ist eigentlich egal

    zu 2.) sei doch froh, so kannst du ogl die Arbeit machen lassen und mußt dich
    nicht um die Details kümmern. Die Koordinaten die du zum Zeichnen
    angibst werden sind IMHO immer absolute koordinaten.

    zu 3.) habs mir auch nur flüchtig angerschaut : findes ganz gut -> also ja

    zu 4.) Keine Ahnung

    zu 5.) Ich hab mal ein 3D Object aus einem BMP erstellt (Pixel - Info zur
    Erstellung eines 3D Profiles 256x256 Pixel -> sowas um die 100000
    Triangels). Hab dann irgendwie festgestellt, das die GPU wohl
    ausschlaggebender ist als die CPU. Kommt aber auch ganz auf die
    Implementierung der Darstellungsfunktionen an.

    zu 6.) Keine Ahnung

    Soviel zur Antwort eines Leihen -> mal sehen, was die Profis sagen :p



  • 1. gibts n praktischen unterschied zwischen GLvoid und void?

    Nein. Ein GLVoid wird wohl nur ein typedef für void sein. Der praktische Unterschied liegt z.b. bei GLChar vor. Auf der einen Plattform mag ein char signed sein, auf der anderen ist er vielleicht unsigned. Was ist wenn man das nicht weiß ? *Bumm*
    Also wird ein typedef gemacht, in der glut.h (oder sonstwo) kann dann einfach ein Austausch gemacht werden wenn das Projekt auf ner anderen Plattform laufen soll

    2.warum ist es nötig immer translate, rotate etc. zu benutzen bevor man objekte zeichnet? kann man nich direkt von 0,0,0 aus zeichnen?

    Weil es so viel bequemer ist. Natürlich kann man alles von 0,0,0 aus zeichnen.
    Aber überleg mal warum die Matricenrechnung verwendet wird ? Sie spart *jede* Menge Multiplikationen/Additionen/sin/cos Aufrufe usw usw. Probiers einfach aus 🙂

    3.is milkshape 3d handlich für objekte/levels? bzw. bekommt man gescheite exportfiles?

    Für Level finde ich MS3D vollkommen ungeeignet, ebenso wie andere 3D Modeller. Für Modells ist er aber natürlich ideal, es gibt auf jede Menge Informationen wie man die .ms3d Files verwendet

    4.wo find ich n tut das allgemein den aufbau erklärt (inhalt objektfile, inhalt mapfile... vorgehensweise beim rendern)

    Welchen allgemeinen Aufbau ? Von ms3d ?
    Siehe FAQ bzw Google 🙂

    5.wieviele triangles auf einmal sind für n 400mhz rechner mit gforce2mx in etwa noch gut tragbar?

    Das kommt darauf an : Verwendest du Texturen ? Schickst du viele Triangles auf einmal (schnell) ? Wie groß sind die Triangles ? Was berechnest du im Hintergrund noch alles (KI, Physik usw)
    Pauschal kann man das nicht beantworten

    6.wieviele partikel (jeweils 2 triangles) sollte eine partikelengine auf dem gleichen rechner verwenden (jedes dreieck wird bei jedem frame neu berechnet... deswegen wahscheinlich mehr brechnungsdauer bei der gleichen anzahl von triangles)

    Siehe 5)

    Ich hoffe das beantwortet deine Fragen ?

    edit : mal wieder langsamer 🙄 :p

    [ Dieser Beitrag wurde am 27.01.2003 um 16:51 Uhr von Headhunter editiert. ]



  • @head
    zu 2. hmmm versteh ich immer noch ned
    zu 3. wie macht man dann am besten levels
    zu 4. ne inhalt/aufbau eines 3d spiels (nur der ogl part)
    zu 5. und 6. ich brauch nur irgendwelche "in etwa" grenzen an die ich mich halten kann damit mein model dann nich plötzlich 100000 triangles zu viel hat

    gruss sov



  • Original erstellt von Sovok:
    **@head
    zu 2. hmmm versteh ich immer noch ned
    zu 3. wie macht man dann am besten levels
    zu 4. ne inhalt/aufbau eines 3d spiels (nur der ogl part)
    zu 5. und 6. ich brauch nur irgendwelche "in etwa" grenzen an die ich mich halten kann damit mein model dann nich plötzlich 100000 triangles zu viel hat

    gruss sov**

    2. Er meinte halt, das dir diese drei Befehle einiges an Berechnungen ersparen. Versuch mal die Szene ohne glRotate rotieren zu lassen.

    3. Mit einem Levelformat. Ein gutes und auch leicht zu importierendes währe da das Quake (am Besten das Q3) Format. Auf www.gametutorials.com findest du ein paar gute Tutorials.

    4. Nunja, so ein ultimatives Tutorial wirst du w*****einlich nicht finden. Versuche halt einfach mal dein Wissen anzuwenden und logisch zu denken, dann sollte das kein Problem sein.

    5. und 6. Warum testest du es denn nicht einfach aus ? Dann könntest du auch eine Methode Programmieren, welches die Anzahl der Triangles in deinem Modell oder die Anzahl der Partikel an der Rechenleistung automatisch anpasst.

    cya



  • Oh, ich habe "wa(h!)rscheinlich" falsch geschrieben, jetzt denkt das Forum ich meinte A r s c h



  • zu 5.
    ich will nur einen "in etwa" wert fürs modelln 5?,50?,500?,5000?,50000?,500000?oder 5000000? jetzt sag einfach mal zu einem von denen "ja, dafür braucht ein 400er etwa 50% ressourcen" 🙂

    edit: ich hab nen 900er will aber, dass die sachen ab nem 400er laufen... deswegen wirds n bissi schwer mit ausprobiern

    [ Dieser Beitrag wurde am 27.01.2003 um 17:28 Uhr von Sovok editiert. ]



  • ok noch n paar fragen...

    1.inzwischen weiss ich zwar wie man vektoren und matritzen miteinander verrechnet aber für mich is ne 4x4 matrix immernoch n 16er array... wo besteht da der zusammenhang zur 3d programmierung/3d welt?

    2.wenn ich n model in milkshape speicher wird dann die position der kamera mitgespeichert und alle koordinaten von dieser position abgeleitet? dann könnt ich mir auch vorstelln warum man translate und rotate benutzen muss.



  • Wie gesagt: Das kann mann IMHO so nicht sagen. Hängt von der Implementierung ab ( arbeitest du mit Lists oder wird alles "normal" gezeichnet u.s.w. ). Je nachdem hängt es auch mehr von der Graka als vom Prozi ab.
    Probier doch einfach mal drauflos. Eine Versicherung gegen Fehlschläge gibt es sowieso nicht :).



  • 1.ok dann sag mir doch bitte einer wieviele dreiecke ein model/level in half-life/quake2/quake3 hat
    2.was is mit meinen zwei neuen fragen? hat jemand ne erklärung?

    gruss sov



  • Original erstellt von Sovok:
    **ok noch n paar fragen...

    1.inzwischen weiss ich zwar wie man vektoren und matritzen miteinander verrechnet aber für mich is ne 4x4 matrix immernoch n 16er array... wo besteht da der zusammenhang zur 3d programmierung/3d welt?

    2.wenn ich n model in milkshape speicher wird dann die position der kamera mitgespeichert und alle koordinaten von dieser position abgeleitet? dann könnt ich mir auch vorstelln warum man translate und rotate benutzen muss.**

    1. homogene Koordinaten im 3D Raum haben 4 Komponenten ( http://www.uni-paderborn.de/fachbereich/AG/agdomik/computergrafik/cg_skript/html/node65.htm )
    2. Kamerakoordinaten wohl eher nicht (Evtl. von Programm zu Programm verschieden, RTFM!)

    Vielleicht solltest du erstmal noch ein paar Informationen einholen, bevor du dir weitere unnütze Fragen ausdenkst 😉

    Bye, TGGC



  • noch n zusätzlicher begriff nützt mir reichlich wenig

    jetzt weiss ich weder was ne matrix mit dem 3d raum zu tun hat noch was homogene koordinaten sind... die berechnungen sind schön und gut wenn ich wüsste wofür ich sie einsetzten soll 🙄



  • Original erstellt von Sovok:
    noch n zusätzlicher begriff nützt mir reichlich wenig

    Hmm, geanu das meinte ich...



  • naja vielleicht hast du recht...
    inzwischen is auch endlich mein "open gl game programming" angekommen
    werds erstmal durcharbeiten

    sorry für die dummen fragen aber ich konnts einfach nich erwarten 🙄


Anmelden zum Antworten