FSAA? Multisampling?



  • gilt das jetzt für interleavte buffer oder allgemein?



  • hab ich gerade in den hardware manuals die ich von den wichtigsten gpus habe nachgesehen, laut denen ist es ein bruchteil von dem was eine normale cpu als L1 cache hat

    In den Unterlagen vom XDK (XBox1 wohlbemerkt) wird die Groesse mit 4kB beziffert.
    Fuer aktuelle GPUs findet man wenig konkretes aber haeufig dieses:

    Pre T&L cache:
    – Much larger than post T&L cache:
    – On GeForce FX 3000: ~8,000 vertices
    – On GeForce FX 6800: ~64,000 vertices

    Quelle: Rendering Huge Triangle Meshes with OpenGL.



  • Argh - mein vertex ist 36 byte groß. Lohnt sich da eine aufstockung auf 64 byte?


  • Mod

    hellihjb schrieb:

    hab ich gerade in den hardware manuals die ich von den wichtigsten gpus habe nachgesehen, laut denen ist es ein bruchteil von dem was eine normale cpu als L1 cache hat

    In den Unterlagen vom XDK (XBox1 wohlbemerkt) wird die Groesse mit 4kB beziffert.

    nett dass du an NDA informationen freigibst 🙂
    und 128 vertices find ich schon recht winzig und du wuerdest erstaunt sein wie wenig sich dieser wert veraendert hat.

    Fuer aktuelle GPUs findet man wenig konkretes aber haeufig dieses:

    Pre T&L cache:
    – Much larger than post T&L cache:
    – On GeForce FX 3000: ~8,000 vertices
    – On GeForce FX 6800: ~64,000 vertices

    Quelle: Rendering Huge Triangle Meshes with OpenGL.

    von ati gibt es wohl irgendwo public informationen dass es 32kb sind bei den allerneusten karten.

    wie gesagt, das sind winzige caches, verglichen mit der groesse die ein normales mesh hat und sie dienen nur dem streming, entsprechend sieht du sicher auch in deinem nda papern dass sie anders organisiert sind. das sind gerade mal 16 zugriffe von einem vertexshader-array mit 8units.

    die zahlen mit 64000vertices, also 2MB (bei 32byte/vertex) hat kein streaming chip.



  • Argh - mein vertex ist 36 byte groß. Lohnt sich da eine aufstockung auf 64 byte?

    Nein. Aber eine Verkleinerung auf 32.


  • Mod

    Azrael, il Meraz schrieb:

    Argh - mein vertex ist 36 byte groß. Lohnt sich da eine aufstockung auf 64 byte?

    mach 32byte daraus.
    .
    .
    .
    doch das geht!


  • Mod

    hellihjb schrieb:

    Rendering Huge Triangle Meshes with OpenGL.

    das paper ist sehr suspekt
    die messen nur framerates von 60 30 20 15... vsync?
    ihre quadro4 soll 60MTri/s theoretisch schaffen und sie haben 57fps bei 1MTri 🙄
    im ogl forum gab es einige die fast die wirkliche theoretische leistung von (wenn ich mich recht entsinne) um die 128Mio/s erreichten.
    deren zahlen wuerd ich nicht so ganz vertrauen was vertexcache angeht.



  • eh ja und wie geht das? ^^

    ich hab ein vertex, welches so aussieht:

    typedef struct
    {
        AL_byte red;
        AL_byte green;
        AL_byte blue;
        AL_byte alpha;
        float tu;
        float tv;
        float nx;
        float ny;
        float nz;
        float x;
        float y;
        float z;
    } AL_ilvdVertex;
    

    welches 4 bytes soll ich denn rausschmeißen? 😃 die vertexfarbe?


  • Mod

    texturcoordinate aus zwei shorts.



  • wie ist denn der zusammenhang? 🙂

    hab mal kurzerhand das hier versucht:

    vertices[i].tu = mesh->getUVCoordPointer()[i].tu*65535;
    vertices[i].tv = mesh->getUVCoordPointer()[i].tv*65535;
    

    Ist natürlich falsch...

    Irgednwie habe ich das gefühl dass die fixed pipeline auch bei short versucht werte zwischen 0 und 1 zu nehmen. zumindest sieht das so aus :). muss man das mit einem Shader regeln? Das wäre nicht so toll denn unsere Schulcomputer können keine Shader "^^. Und ich hatte vor die Engine in der Schule zu verwenden...


Anmelden zum Antworten