Verwirrt: Triangle Strips / Vertex arrays- und Buffer



  • Hi,

    Ich exportiere grade ASE Files und schaue mir Daten an, jetzt stelle ich mir die Frage was sinnvoll wäre, ein eigenes Export-Format betreffend.

    Ich habe zuallerst mal die Rohdaten vorliegen, pro Face 3 Vertices etc. pp.

    Das ganze per glVertex zu zeichnen ist unglücklich, wie ich mittlerweile weiß. Daher sollte man seine Daten ach Möglichkeit triangle-strippen. Da es aber auch so schöne Sachen wie Vertex Arrays, Vertex Buffer u.ä. gibt, stellt sich mir die Frage, in wieweit sich das Ganze auch auf Triangle-Strips bezieht, also ob das eine das andere nicht ausschließt, da ja hier auch mit Indizes gearbeitet wird.

    Im Kern:
    1. Soll ich aus den Rohdaten Triangle-Strips generieren,
    2. wenn ich Vertex Arrays benutzen will oder
    3. sind dieses im Grunde 2 verschiedene Ansätze oder
    4. soll ich was ganz anderes machen?

    Es stellt sich auch die Frage, ob schon im exportierten Format Triangle Koordinaten gespeichert werden sollten, wenn nötig (siehe Fragen), oder erst zur Ladezeit (stell ich mir nicht toll vor, die Algos dürften teuer sein).

    Hat da jemand Erfahrung? Man muss das nicht auf OGL münzen, ich habe eh nicht viel Ahnung von 3D Apis, muss aber jetzt ein Format erstellen und will später nicht wieder alles neu machen.

    Danke!


  • Mod

    ein indexbuffer und ein vertexbuffer, indexbuffer möglichst 16bit, vertices möglichst auf 32byte alignen. du kannst trianglestrps oder listen benutzen. wichtig ist dass viele chachehits im vertexcache vorkommen. je nach graphiccard sind das 16 oder 24 vertices, wobei effektiv 13-14 bzw 21-23 zur verfügung stehen.




  • Mod

    nein, mein post und dein link sind komplett verschiedene dinge.



  • TriangleStrip Generation Algo's sind etwas kompliziert (hatte mir mal selbst einen gebastelt, und die NP Problematik net beachtet-> dauerte wohl etwas länger)

    Es gibt Programme die deine Rohdaten ins Strips konvertieren können, ich denke eine Offline konvertierung deiner Daten im voraus sollte helfen ! @ RunTime imho net zu empfehlen ...

    Lohnen tut sich das egal wie, weil die Daten näher zusammen liegen und dadurch mehr hits entstehen ...



  • rapso schrieb:

    nein, mein post und dein link sind komplett verschiedene dinge.

    Wieso, meinst du andere Vertex/Index-Buffer?
    Sah für mich danach aus. Naja.



  • ChaosAngel schrieb:

    TriangleStrip Generation Algo's sind etwas kompliziert (hatte mir mal selbst einen gebastelt, und die NP Problematik net beachtet-> dauerte wohl etwas länger)

    Es gibt Programme die deine Rohdaten ins Strips konvertieren können, ich denke eine Offline konvertierung deiner Daten im voraus sollte helfen ! @ RunTime imho net zu empfehlen ...

    Lohnen tut sich das egal wie, weil die Daten näher zusammen liegen und dadurch mehr hits entstehen ...

    Ja, on the fly eher Schwachsinn.
    Mir ist nicht klar, wie da der Ablauf bei 'richtigen' Projekten ist, oder ob man die Problematik momentan irgendwie verlagert hat. Scheint man sich also doch mit beschäftigen zu sollen.


  • Mod

    xaoC schrieb:

    rapso schrieb:

    nein, mein post und dein link sind komplett verschiedene dinge.

    Wieso, meinst du andere Vertex/Index-Buffer?
    Sah für mich danach aus. Naja.

    mein, das ist ja auch eindeutig.
    in bezug auf vertexcache meibte ich was anderes.


  • Mod

    xaoC schrieb:

    Mir ist nicht klar, wie da der Ablauf bei 'richtigen' Projekten ist

    so wie es chaosangel beschrieb. die topologie ändert sich eher selten zur laufzeit.



  • KK 🙂


Anmelden zum Antworten