nflj_ubs_replies_on_comment_by_x

  1. Misie Gaming
    Ich weiß es auch nur grob, aber Rasterisation wird auf alle Fälle schrittweise durchgeführt und Leinwandpositionen werden lediglich für die Eckpunkte der Polygone berechnet. Erst in einem nächsten Schritt wird dann zu Dreiecken zusammengesetzt, die eben im zweidimensionalen nur gerade Kanten haben können. Es wird also flaches 2D im Prinzip hierdurch erzwungen, weil die Leinwand eigentlich nur...
  2. Misie Gaming
    ...ein Rahmen ist. Danach wird dann geschaut, welche Bildschirmpixel abgedeckt werden, usw. Was du vorschlägst könnte man bei Ray-/Path-Tracing verwenden, weil hier wirklich direkt für die Pixel des Schirms Strahlen verschossen werden. (Man bevorzugt wohl nur eine simulierte Linse, weil man damit zusätzlich chromatische Aberration und so haben kann.)
  3. i.z.
    Gerechnet auf die Größe der Polygone, dürfte das keine Rolle spielen. Projiziert man die Eckpunkte auf die Zylindermantelfläche, dann verlaufen die Kanten zwar "vor" der Leinwand (quasi als Sekanten); die Abweichung, verglichen mit der Projektion jedes einzelnen Pixels, dürfte aber so gering sein, dass praktisch kein Unterschied wahrnehmbar ist...
  4. i.z.
    ...- zumal diese Abweichung "auf den Betrachter zu" verzerrt. Außerdem sind die Krümmungen, von denen wir hier reden, ja nicht so stark wie in deiner schematischen Darstellung, was die Abweichung zusätzlich reduziert.
  5. Misie Gaming
    Aber dann wird man sich nur mega die Probleme mit Tiefentests und Co. einfangen. Und ich weiß auch nicht, wie gut das überhaupt mit SIMD (single instruction, multiple data) realisierbar ist.
  6. i.z.
    Die Entfernung zum virtuellen Betrachter bleibt ja gleich. Eventuell müsste man für Motion Blur u.ä. etwas ändern, aber das kann ja bekanntlich ohnehin niemand leiden. Und was SIMD angeht: wie gesagt - was man ändern muss, ist im Grunde nur die Berechnungsformel für den Projektionspunkt. Die ist für den Zylinder mathematisch nicht schwieriger als für die flache Ebene (sprich: nicht aufwändiger).
  7. Leondriel
    Mathematisch gesehen mögen die Formeln nicht groß unterschiedlich sein, aber: Für eine Projektion wird die Formel sehr häufig benutzt (für jeden Pixel und jeden Textur-Layer). Nun kann man natürlich für sin und cos einfach 360.000 Werte berechnen und in einem Array ablegen um diese schneller griffbereit zu haben aber es bleibt eine zusätzliche Rechenoperation die in großer Masse Performance kosten kann.
  8. i.z.
    Den Projektionspunkt auf der flachen Ebene kannst du auch nicht einfach so hinschreiben, da brauchst du auch Winkelberechnungen für.
  9. Misie Gaming
    Vor dem eigentlichen Berechnen der Polygonabbildung auf die Leinwand wird auf die Parallelprojektion gegangen (das hatte ich vergessen), so braucht man keine Winkelberechnungnen. Von einer Zylinder- oder Kugeloberfläche darauf zu kommen, dürfte aber deutlich schwerer sein und das sollte damit das eigentliche Problem sein.
  10. i.z.
    Ich sehe nach wie vor kein Problem. Die Geometrie ist simpel und alle Größen sind bekannt. Man muss keine zeitintensive Iteration oder sonstiges draufwerfen. Aber wir sind vermutlich an einem Punkt angelangt, an dem uns wohl nur noch ein echter Insider aufzeigen kann, warum die Dinge so gemacht werden, wie sie gemacht werden. Ich zweifle ja nicht an, dass sie dafür ihre Gründe haben; ich kenne sie nur nicht.
Top