Ergebnis 1 bis 10 von 10

Thema: Spiegel?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    User
    Registriert seit
    06.02.2008
    Beiträge
    95

    Frage Spiegel?

    is es möglich einen Spiegel zu bauen der auch wirklich spiegelt?

  2. #2
    Newbie
    Registriert seit
    31.10.2007
    Beiträge
    5

    Standard Ja

    Bestimmt ist es möglich evtl musst du das Programmieren aber möglich wird es sein.

  3. #3
    Newbie
    Registriert seit
    27.11.2007
    Beiträge
    8

    Standard

    Es kommt darauf an, wie tief der Zugriff mittels SDK auf den Renderer ist.
    Klassisch wird die komplette Szene, in der der Spiegel vorkommt, an der Spiegelebene (der Spiegel) geometrisch gespiegelt und dann zunächst offscreen gerendert. Die Spiegelebene, also der Spiegel, wird dann aus der Perspektive des Spielers in den Stencilbuffer projeziert. Einfach gesagt, der Stencilbuffer enthält eine Art map, die für jeden Pixel des Bildes, welches man auf dem Monitor hat (also auch mit Monitor-Auflösung) im einfachen Fall nur den Wert Schwarz oder Weiss zuordnet. Alle Pixel des Bildes (also nicht offscreen!!!), welche die Spiegelebene zeigen, bekommen dann einen von der restlichen Szene unterschiedlichen Wert. Diese Information wird also im sog. Stencil-Buffer abgespeichert. Mit dieser Information weiß die Engine dann für jeden Pixel, ob der entsprechende Farbwert im Endbild nun aus der offscreen Szene (die gespiegelte Szene) oder aus der ursprünglichen Szene stammen muss. Die gespiegelte Szene wird in die ursprünglichen Szene geblendet, und der Stencil-Buffer gibt vor, in welcher weise, also bei welchem Pixel wie geblendet wird. Dass diese Beschreibung programmiertechnisch nicht absolut exakt ist, weiß ich, aber ich will hier auch nur den grundsätzlichen Ansatz verdeutlichen.

    Was du also brauchst, ist der Zugriff auf den Stencil-Buffer, und du musst den Renderer dazu bringen, die Szene zu spiegeln. Ob das für die Geometrie über Abbildungsmatrizen gemacht wird, weiß ich net, weil ich, wie gesagt, mit der Code-Umsetzung nicht auskenne. Mit ner Matrix wäre es auf jeden Fall leicht, zumindest mathematisch.

    Eine Alternative zum Stencil-Buffer ist das off-screen-rendering in Verbindung mit der RenderToTexture Funktion. Die offscreen gerenderte Szene wird auf eine Textur gepackt, welche entsprechend auf das Spiegelmodel passt. Dabei zeigt der Spiegel jeweils genau den Teil der Textur, welcher im Spiegel sichtbar ist. Nachteil dieser Variante ist die Inkompatiblität zu klassischem Multisampling. Lediglich stumpfes Supersampling bzw. intelligente Methoden, welche nur für diese RenderTextur supersampling und ansonsten multisampling verwenden, können dann noch Kanten glätten.

    Wie auch immer! Crytek hat offenbar keine Spiegelungen bis auf die für das Meerwasser eingeführt (was ich äußerst schade finde, gerade in anbetracht der Tatsache, dass die aktuelle Source-Engine Spiegelungen zwar über RTT, aber ansonsten recht gut hinbekommt.). Da musst du warscheinlich noch ordentliche selbst programmieren!

  4. #4
    User
    Registriert seit
    06.02.2008
    Beiträge
    95

    Standard

    hmm ok..aber danke für die antworten

  5. #5
    Professional Avatar von chicken
    Registriert seit
    24.10.2007
    Beiträge
    4.728

    Standard

    hab das mal ausprobiert wies hier beschrieben ist, sind aber noch paar Bugs vorhanden

    http://crymod.com/thread.php?postid=212576#post212576



    MFG
    Intel Core i5-2500K
    ASRock P67 Pro3
    8 GB DDR3-1333
    GTX560 2GB
    Win7 x64

  6. #6
    Erfahrener User Avatar von dor_Grimm
    Registriert seit
    16.03.2008
    Ort
    Dresden 44
    Beiträge
    167

    Standard

    kann man die spiegel nich schäfer machen?

  7. #7
    Professional Avatar von chicken
    Registriert seit
    24.10.2007
    Beiträge
    4.728

    Standard

    morgen

    neh geht leider nicht....

    MFG
    Intel Core i5-2500K
    ASRock P67 Pro3
    8 GB DDR3-1333
    GTX560 2GB
    Win7 x64

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •