Voodoos stencil buffer?

  • Hallo!

    Ich hab mal ne kurze frage bezüglich des stencil-buffer supports auf den verschiedenen voodoos....

    wisst ihr, wie groß der stencil buffer (in bits, von 2-8) auf den verschiedenen voodoos war?

    die voodoo5 unterstützt glaubich schon 8 bt stencil, aber wie siehts bei den anderen aus?

    danke!

    We are using it to make a difference.

  • War es nicht so, daß der VSA-100 überhaupt erst als erster einen Stencil Buffer hatte?! Ich bilde mir ein, daß der damals für Voodoos ein Novum dargestellt hat.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Ich glaub die Voodoos hatten zumindest ab Banshee schon Stencil - aber mit einer komischen Anbindung die nicht D3D-konform war.
    ---
    Also die V5 war die erste bei der es "funktioniert" hat.

    Keine Garantie! Bin auch nur DAU.

    ciao

    It's nice to be a Preiß - but it's higher to be a Bayer.

  • Ich habe Mal weiter gesucht, und laut einer Quelle (3DConcept, kennen sicher viele) hatte der v3 noch keinen Stencil Buffer, zumindest Mal sicher keinen "nutzbaren":

    http://www.3dconcept.ch/chips/chiptable2nd.htm
    http://www.3dconcept.ch/chips/chiptable3rd.htm

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Einmal editiert, zuletzt von GrandAdmiralThrawn (4. April 2007 um 18:21)

  • Der VSA100 hat den allerersten Stencil-Buffer, dafür aber gleich einen 8-bit-Stencil ;D...

    Die Voodoo3-Treiber besitzen eine Art Emulationsfeauture, da der Chip das selber nicht unterstützt.

    Der Stencil-Buffer ist ein Bereich im Tiefenbuffer: der Tiefenbuffer besitzt insgesamt 32 bit, wovon (soweit unterstützt) die maximale Nutzung 24 bit für den Z-Buffer verwendet werden können und 8 bit für den Stencil-Buffer.

    Während der Z-Buffer die Positionen der Dreiecke auf der z-Ebene speichert, kann man in dem Stencil-Buffer für jedes Dreieck einen zusätzlichen Wert angeben... je nachdem, wie viel der stencil-buffer unterstützt, lässt sich dort bis zu 8 bit informationen abspeichern.

    nehmen wir beispielsweise einen 1-bit stencil-buffer: man kann nun für jeden pixel eine zusätzliche information anhängen (1 oder 0).
    Damit lässt sich z.B., wenn wir in einem Flugzeug ein Cockpit rendern, können wir für die scheiben, die transparent sein sollen, den stencilbuffer auf 1 setzen. nun weisen dir die grafik-api an, nur in den bereichen zu rendern, in denen der stencil-buffer auf 1 steht -> man spart somit viel ressourcen.

    Mithilfe eines größeren Stencil-Buffers lassen sich beispielsweise komplexe schattenberechnungen erstellen (über das prinzip der shadow-volumes).
    Im prinzip baut man damit ein Raum, ausgehend von der lichtquelle, wobei sich von dort eine gerade mit jedem eckpunkt des dreiecks verbindet, diese geraden in die unendlichkeit verlängert - diesen räumen gibt man dann die eigenschaft, dass sie nur für den stencil-buffer wichtig sind.
    nun zählt man, ausgehend vom betrachter, wie oft ein strahl eine solche "lichtwand" schneidet - für jede frontface erhöht man den wert um 1, für jede backface erniedrigt man ihn um 1 (beim eintreten in den schattenkegel +1,
    beim austreten -1). Wenn der strahl nun durch den z-buffer geblockt wird, also auf eine feste ebene trifft, ist dieser punkt im schatten, wenn der wert 1 ist... ist n ziemlich kompliziertes verfahren, darin bin ich gerade dabei, mich da richtig einzuarbeiten ;D wird aber wohl noch lange dauern...

    Diese Technik ist auf dem v3 leider nicht hardwaremässig durchführbar :-(, lässt sich aber glücklicherweise gut emulieren -> ist dann leider nur nicht sonderlich schnell... da der z-buffer der v3 auch "nur" 16 bit umfasst, ist der natürlich für den modernen programmierer etwas umständlich ;D lässt sich aber mit n bissl mühe leicht umgehen... ich werde mal das dx stencil-buffer beispiel des dx sdk auf einer v3 ausprobieren...

    Have a nice day ;D

    We are using it to make a difference.

    Einmal editiert, zuletzt von IceFire (5. April 2007 um 02:02)

  • ich habe mir mal die offiziellen papers zu v1 und v2 angeschaut:
    - der v1 kennt sowas anscheinend gar nicht
    - der v2 nutzt wohl ein äquivalentes verfahren

    zitat
    "To handle co-planar polygons, Voodoo2 Graphics also supports depth biasing. To guarantee that polygons which are co-planar are rendered correctly, individual triangles may be biased with a constant depth value – this effectively accomplishes the same function as stenciling used in more expensive graphics solutions but without the additional memory costs."
    ende

  • So, für alle interessierten:

    Der stencil-shadow läuft jetzt ;) auf meiner Voodoo5!

    http://www.icefire-editions.de/misc/voodoo/mbdak3.jpg


    hinter dem haus sieht man den schatten, der mithilfe des stencil-buffers erzeugt wurde. der graue fleck unten in der mitte ist der schatten des bodens in der skybox... da hapert es leider noch ;D
    läuft allerdings _überhaupt_ nicht flüssig. schätze ca. 9-10 fps. leider funktioniert jetzt die kollision nicht mehr, weiß der teufel warum. ich mache mich jetzt an die fehlersuche!

    Frohe Ostern euch allen!

    We are using it to make a difference.

  • Hey, das sieht ja mal voll cool aus :respekt:

    Frohe Ostern ebenfalls - viel Spas sbei der Eiersuche :tongue: :D !!

    Gruss,
    lao-koon

    Zitat von lao-koon

    "Kein Kauf ist umsonst!" :spitze: