hmjaneisklar`s Kommentare
Toy Robot Band
Der Clip zeigt eine Elektro-Kapelle aus Spielzeug-Robotern. Jeder spielt sein ei...
Eine Blondine beim Baseball
Was sie in dem Moment nicht wusste war, dass sie vor Millionen Zuschauern den gr...
wörd.
Ba Ba Boom...Headbutt
Hat der Reality-Hits-You-Hard-Bro nach dem Elektromast-Crash ganz neue Talente i...
Kein Thema. Gern geschehen :)
Explodierende Superblase mit Trockeneis
Spülmittel + Glycerin + Destilliertes Wasser + Trockeneis = WOW FX !!!
Er hat hier doch jeden Tag aufs Neue den Spaß seines Lebens. Und wie sieht dein Leben aus?
Eisfischen 2.0
Wieso sich abmühen, wenn man in Wirklichkeit keinen Finger krumm machen muss? Th...
Danke für die Erklärung! Mein Vote hast du! Immer wieder schön, dass man hier auch richtig was lernen kann!
Illumi Room
Per Kinect wird ein Raum samt Gegenständen gescannt und ein Projektor bildet dig...
Wieso "Scheiß"? Ist doch alles recht leicht verständlich.
7. Nochmal in eine Textur rendern: Diesmal allerdings nicht aus der virtuellen Perspektive des Spielecharakters, sondern aus der Perspektive des Beamers (natürlich auch nur virtuell -- wir bleiben im Weltkoordiantensystem des Videospiels, können die Beamerposition aber durch die vorherige Kalibrierung im virtuellen Raum abbilden). Der Trick hierbei ist, dass wir die Textur aus dem vorigen
Renderpass jetzt per Projection Texture Mapping auf das Modell des Raumes/der Wand projizieren (ist die Tiefenvarianz der Wand zu hoch, wäre Projective Texture Mapping vielleicht angebrachter). Die bisherige Kameraposition ist dabei der Projektionsursprung des Mappings. Außerdem muss der virtuelle TV im Modell dabei koplanar mit der Projektionsebene des ersten Renderpasses sein. Das sind aber
nur ein paar Koordinatentransformationen -- wir wissen ja alle Abstände etc. durch die Kalibrierung.
8. Da wir aus der (virtuellen) Perspektive des Beamers gerendert haben, wissen wir genau was der (reale) Beamer projizieren muss, damit das projizierte Bild so aussieht, als wäre es die Fortsetzung des TV-Bildes aus der Perspektive der_des Spielerin_s. Der Perspektivwechsel ist wichtig, sonst sieht um den TV alles verzerrt aus. Die Textur aus Schritt 7 dann halt noch vom zweiten Monitorausgang
(Beamer) darstellen lassen und fertig!
Falls es jemand noch vor Microsoft schaffen will (das Problem ist aber ohnehin eher die nötige Hardware und nicht der Problemlösungsalgorithmus):
1. Raum bzw. die Raumseite des TVs rekonstruieren (Stichworte: 3D reconstruction, structure from motion): zB mit Tiefenkameras (zB Kinect Fusion), mit einem Multi-Kamera-Setup, mit einem monokularem Natural Feature Tracking and Mapping System (zB PTAM oder MonoSLAM), oder halt einfach per Hand mit Lineal, Modelling-Software und viel Zeit.
2. Falls du es nicht per Hand gemacht hast: Punktewolke der Rekonstruktion triangulieren, um ein Modell aus Polygonen zu erhalten.
3. Beamer auf TV-Mittelpunkt kalibrieren (dh den Vektor zwischen Projektorlinse und TV, samt dessen Länge bestimmen). Dadurch erfährt unsere Software auch gleich wo im Raum genau der TV ist.
4. Das fertige Modell des Zimmerteils im Videospiel laden. 5. In der Renderloop des Videospiels die aktuelle Szene einmal normal für den TV rendern.
6. Szene ein zweites Mal rendern, aber diesmal mit einem wesentlich größerem View Frustum (um über den TV-Bereich "hinausschauen" zu können) und größerem Viewport (sonst wirds pixelig). Der Teil, den der TV einimmt, sollte man dabei ausmaskieren. Gerendert wird nicht in den Framebuffer, sondern eine Textur, die wir im nächsten Renderpass wiederverwenden.
7. Nochmal in eine Textur rendern: Diesmal allerdings nicht aus der virtuellen Perspektive des Spielecharakters, sondern aus der Perspektive des Beamers (natürlich auch nur virtuell -- wir bleiben im Weltkoordiantensystem des Videospiels, können die Beamerposition aber durch die vorherige Kalibrierung im virtuellen Raum abbilden). Der Trick hierbei ist, dass wir die Textur aus dem vorigen
Renderpass jetzt per Projection Texture Mapping auf das Modell des Raumes/der Wand projizieren (ist die Tiefenvarianz der Wand zu hoch, wäre Projective Texture Mapping vielleicht angebrachter). Die bisherige Kameraposition ist dabei der Projektionsursprung des Mappings. Außerdem muss der virtuelle TV im Modell dabei koplanar mit der Projektionsebene des ersten Renderpasses sein. Das sind aber
nur ein paar Koordinatentransformationen -- wir wissen ja alle Abstände etc. durch die Kalibrierung.
8. Da wir aus der (virtuellen) Perspektive des Beamers gerendert haben, wissen wir genau was der (reale) Beamer projizieren muss, damit das projizierte Bild so aussieht, als wäre es die Fortsetzung des TV-Bildes aus der Perspektive der_des Spielerin_s. Der Perspektivwechsel ist wichtig, sonst sieht um den TV alles verzerrt aus. Die Textur aus Schritt 7 dann halt noch vom zweiten Monitorausgang
(Beamer) darstellen lassen und fertig biste.
Hier noch die Lösung des Problems:
1. Raum bzw. die Raumseite des TVs rekonstruieren (Stichworte: 3D reconstruction, structure from motion): zB mit Tiefenkameras (zB Kinect Fusion), mit einem Multi-Kamera-Setup, mit einem monokularem Natural Feature Tracking and Mapping System (zB PTAM oder MonoSLAM), oder halt einfach per Hand mit Lineal, Modelling-Software und viel Zeit.
2. Falls du es nicht per Hand gemacht hast: Punktewolke der Rekonstruktion triangulieren, um ein Modell aus Polygonen zu erhalten.
3. Beamer auf TV-Mittelpunkt kalibrieren (dh den Vektor zwischen Projektorlinse und TV, samt dessen Länge bestimmen). Dadurch erfährt unsere Software auch gleich wo im Raum genau der TV ist.
4. Das fertige Modell des Zimmerteils im Videospiel laden. 5. In der Renderloop des Videospiels die aktuelle Szene einmal normal für den TV rendern.
6. Szene ein zweites Mal rendern, aber diesmal mit einem wesentlich größerem View Frustum (um über den TV-Bereich "hinausschauen" zu können) und größerem Viewport (sonst wirds pixelig). Der Teil, den der TV einimmt, sollte man dabei ausmaskieren. Gerendert wird nicht in den Framebuffer, sondern eine Textur, die wir im nächsten Renderpass wiederverwenden.

Zu deutscher Sprache wechseln
"Vor einer öffnenden und nach einer schließenden Klammer wird stets ein Leerzeichen gesetzt (außer es folgt – wie hier – ein Satzzeichen). Nach einer öffnenden und vor einer schließenden Klammer dagegen nicht. (Ein Satzpunkt steht vor einer schließenden Klammer nur dann, wenn ein kompletter Satz – wie hier – eingeklammert ist.)"
de.wikipedia.org/wiki/Klammer_(Zeichen)