echte 3D Monitore programmieren
echte 3D Monitore programmieren
Hallo!
Hat jemand eine Ahnung wie man die neuen 3D-Monitore programmiert.
Ich denke da nicht an die mit Shutterbrille sondern die, die Zeilenweise unterschiedlich polarisiert sind.
Wäre ja toll, wenn mann die beiden Bilder nur auf 2 Fenster oder ähnliches aufteilen müsste und sie dann korrekt real3D mit PolarBrille wargenommen würden?
Vielen Dank!
Rüdiger
Hat jemand eine Ahnung wie man die neuen 3D-Monitore programmiert.
Ich denke da nicht an die mit Shutterbrille sondern die, die Zeilenweise unterschiedlich polarisiert sind.
Wäre ja toll, wenn mann die beiden Bilder nur auf 2 Fenster oder ähnliches aufteilen müsste und sie dann korrekt real3D mit PolarBrille wargenommen würden?
Vielen Dank!
Rüdiger
Re: echte 3D Monitore programmieren
Soweit ich weiß macht das der Treiber automatisch. So ist es zumindestens bei IZ3d. Einfach in 3D programmieren. Hat der Benutzer dann einen 3D-Bildschrim und die entsprechende Treiber wird dein Spiel automatisch in echtes 3D umgewandelt. Sollte das bei deinem Bildschirm nicht so sein, schau mal auf der Herstellerseite. Die bieten dann entsprechende SDKs an.
Windows XP: PB 4.31, PB 4.4, PB 4.51
Open Suse 11.2: PB 4.4
Open Suse 11.2: PB 4.4
Re: echte 3D Monitore programmieren
Hallo kswb73!
Danke für die Infos.
Vielleicht kann mir nun noch jemand helfen, wie man für die rechte und linke Hälfte vollkommen verschiedene Bilder darstellen kann!
Viele Grüsse
Rüdiger
Danke für die Infos.
Vielleicht kann mir nun noch jemand helfen, wie man für die rechte und linke Hälfte vollkommen verschiedene Bilder darstellen kann!
Viele Grüsse
Rüdiger
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Re: echte 3D Monitore programmieren
War es da nicht so, dass man bei diesen 3D-Monitoren immer eine Zeile oder Spalte abwechselnd anders polarisiert hat. zB.:
Zeile 1, 3, 5, 7,.... horizontal
Zeile 2, 4, 6, 8,.... vertikal
Jetzt machst du zwei Bilder eines für das Rechte und das andere für das Linke Auge und stellst des Linke nur in den ungeraden Zeilen dar und das rechte in den geraden (weiß nicht genau wie rum).
Fertig.
Dann sieht das eine Auge nur die Bildinformationen der geraden und das Andere nur die Informationen der ungeraden Zeilen, wenn man die Polarisationsbrille aufsetzt.
Zeile 1, 3, 5, 7,.... horizontal
Zeile 2, 4, 6, 8,.... vertikal
Jetzt machst du zwei Bilder eines für das Rechte und das andere für das Linke Auge und stellst des Linke nur in den ungeraden Zeilen dar und das rechte in den geraden (weiß nicht genau wie rum).
Fertig.
Dann sieht das eine Auge nur die Bildinformationen der geraden und das Andere nur die Informationen der ungeraden Zeilen, wenn man die Polarisationsbrille aufsetzt.
I´a dllfreak2001
Re: echte 3D Monitore programmieren
Wenn du das machst, gibts böse Kopfaua! Wenn dem Gehirn zwei unterschiedliche Bilder (von jedem Auge eins) präsentiert wird, versucht es das zu einem 3D-Gebilde zusammenzusetzen. Die Bildinformation wird aber vom Hirn nicht richtig erkannt.
Rüdiger schrieb jedoch, dass er auf den Bildschuirmhälften andere dinge darstellen will. Also kein zeilenweise abwechselndes Bild, sondern strikt getrennt nach links und rechts, bspw. die linken 960 Pixel für Bild A, die rechten 960 Pixel für Bild B.
Da stellt sich mir nur die Frage, wo eigentlich das Problem liegt...
Rüdiger schrieb jedoch, dass er auf den Bildschuirmhälften andere dinge darstellen will. Also kein zeilenweise abwechselndes Bild, sondern strikt getrennt nach links und rechts, bspw. die linken 960 Pixel für Bild A, die rechten 960 Pixel für Bild B.
Da stellt sich mir nur die Frage, wo eigentlich das Problem liegt...
PB 4.41 | Win7 64bit
Re: echte 3D Monitore programmieren
Hallo an Alle und Danke!
Die Idee mit der zeilenweisen Darstellung scheint ein guter Ansatz zu sein.
Ich möchte z.B. , das das linke Auge nur einen senkrechten Balken sieht und das rechte einen Waagerechten.
Daraus könnte man dann einen Test machen der Abweichungen der Augen von der Normalstellung ermitteln kann (Wie beim Optiker)
Wenn der Senkrechte Balken dann nur von den geraden zeilen dargestellt wird und der waagerechte von den ungeraden Zeilen wäre alles in Butter. (Mann würde mit beiden Augen ein Kreuz sehen)
Wäre nun noch zu schön, wenn mann diese unterschiedlichen Bilder einfach in zwei Speicherbereiche oder so laden könnte und der Rechner die dann nach den Zeilen automatisch aufteilt.
Evtl. Könnte auch ne bmp gehen, die zwei Bilder enthält. das eine auf den geraden zeilen, das andere auf den ungeraden....
Aber alle nur Theorie, da ich noch keinen 3D Monitor habe...
Viele Grüsse
Rüdiger
Die Idee mit der zeilenweisen Darstellung scheint ein guter Ansatz zu sein.
Ich möchte z.B. , das das linke Auge nur einen senkrechten Balken sieht und das rechte einen Waagerechten.
Daraus könnte man dann einen Test machen der Abweichungen der Augen von der Normalstellung ermitteln kann (Wie beim Optiker)
Wenn der Senkrechte Balken dann nur von den geraden zeilen dargestellt wird und der waagerechte von den ungeraden Zeilen wäre alles in Butter. (Mann würde mit beiden Augen ein Kreuz sehen)
Wäre nun noch zu schön, wenn mann diese unterschiedlichen Bilder einfach in zwei Speicherbereiche oder so laden könnte und der Rechner die dann nach den Zeilen automatisch aufteilt.
Evtl. Könnte auch ne bmp gehen, die zwei Bilder enthält. das eine auf den geraden zeilen, das andere auf den ungeraden....
Aber alle nur Theorie, da ich noch keinen 3D Monitor habe...
Viele Grüsse
Rüdiger
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Re: echte 3D Monitore programmieren
Du könntest so ein Bild in Paint malen.
Aber was möchtest du machen?
Nur ein Bild in 3D darstellen, oder irgendwie einen Screen, ein Image oder einen Film so darstellen?
Aber was möchtest du machen?
Nur ein Bild in 3D darstellen, oder irgendwie einen Screen, ein Image oder einen Film so darstellen?
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenWindow(0, 0, 0, 800, 600, "3D-Bild", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 800, 600, 0, 0, 0)
CreateSprite(0, 800, 600)
CreateSprite(1, 800, 600)
cx.f = 400
cy.f = 300
mw.f = 0
Repeat
ExamineKeyboard()
DisplaySprite(0, 0, 0)
If KeyboardPushed(#PB_Key_Left)
cx - 4
ElseIf KeyboardPushed(#PB_Key_Right)
cx + 4
EndIf
If KeyboardPushed(#PB_Key_A)
mw - 1
ElseIf KeyboardPushed(#PB_Key_D)
mw + 1
EndIf
StartDrawing(SpriteOutput(0))
Box(0, 0, 800, 600, 0)
div.f = -(cx - (400 + mw))/50
For n = 10 To 0 Step -1
Circle(cx + n * div, cy, 92 - n, RGB(255 - n*8,255 - n*8,255 - n*8))
Next
StopDrawing()
StartDrawing(SpriteOutput(1))
Box(0, 0, 800, 600, 0)
div = -(cx - (400 - mw))/50
For n = 10 To 0 Step -1
Circle(cx + n * div, cy, 92 - n, RGB(255 - n*8,255 - n*8,255 - n*8))
Next
StopDrawing()
For y = 0 To 400
ClipSprite(1, 0, y*2, 800, 1)
DisplaySprite(1,0, y*2)
Next
StartDrawing(ScreenOutput())
DrawText(0, 0, "Drücke <A D> Augenabstand: " + Str(mw), 255)
DrawText(0, 16, "Drücke <Links Rechts> Dingsbums bewegen: " + Str(cw), 255)
StopDrawing()
FlipBuffers()
If WindowEvent() = #PB_Event_CloseWindow
End
EndIf
ForEver
I´a dllfreak2001
Re: echte 3D Monitore programmieren
Hallo dllfreak2001!
Cool!
Das hat mir schon ne Menge weitergeholfen! Ich werd mir mal so ein Bild konstruieren und mal auf einem 3D Monitor ausprobieren!
Soll so was werden wie die Stereo-Bilder, die es vor 10 Jahren mal auf Papier gab.
Viele Grüsse
Rüdiger
Cool!

Soll so was werden wie die Stereo-Bilder, die es vor 10 Jahren mal auf Papier gab.
Viele Grüsse
Rüdiger
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: echte 3D Monitore programmieren
für korrekte Stereo-Bilder brauchst du zwei Fotos. ich hab mich vor 15 Jahren selber mit der Materie beschäftigt,
und ein Bekannter von mir hat sich ne Halteleiste für zwei Spiegelreflex-Cams gebaut und ne Glanz-Leinwand und nen Polar-Projektor gehabt.
wenn du selber Bilder rendern willst, schau dir mal POV-Ray an.
das scripten der Scene wäre der eigentliche Aufwand (gibt aber auch Modeller dafür)
zwei Kameras im Augenabstand einzubaun wäre die leichteste Übung.
und ein Bekannter von mir hat sich ne Halteleiste für zwei Spiegelreflex-Cams gebaut und ne Glanz-Leinwand und nen Polar-Projektor gehabt.
wenn du selber Bilder rendern willst, schau dir mal POV-Ray an.
das scripten der Scene wäre der eigentliche Aufwand (gibt aber auch Modeller dafür)
zwei Kameras im Augenabstand einzubaun wäre die leichteste Übung.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Re: echte 3D Monitore programmieren
Hallo Kaeru Gaman!
Danke für die Tips ! Ich warte mal was die Ce-Bit so bringt.
Viele Grüsse
Rüdiger
Danke für die Tips ! Ich warte mal was die Ce-Bit so bringt.
Viele Grüsse
Rüdiger