3D Stereoskopie Skript :)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Chrise

Betreff: 3D Stereoskopie Skript :)

BeitragSo, Sep 02, 2007 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
So ich habe jetzt einen Code ausgearbeitet (kann man das so nennen? xD)
Der Skript macht einen Würfel so, dass man ihn mit einer normalen 3D Brille (also Rot,Grün oder Rot,Türkis) 3D betrachten kann.
Naja man kann es noch ned wirklich realtime nennen, aber so weit entfernt isses davon noch ned.



Kann mir eventuell jemand helfen den Skript auf mehr Geschwindigkeit zu optimieren oder geht da nix mehr?


Code: [AUSKLAPPEN]

Graphics3D 320,240,0,2
SetBuffer BackBuffer()

x=-1
y=-1
camera=CreateCamera()
light=CreateLight()
RotateEntity light,90,0,0

Dim rot(320,240)
cube = CreateCube()
RotateEntity cube,20,50,50
PositionEntity cube,0,0,5

UpdateWorld
frameTimer=CreateTimer(25)
ClsColor 50,50,50
While Not KeyHit(1)
   Cls
   WaitTimer (frameTimer)
   TurnEntity cube,5,0,0
   PositionEntity camera,0,0,0
   RenderWorld
   LockBuffer BackBuffer()
   Repeat
      x=x+1
      Repeat
         y=y+1
         rgb=ReadPixelFast(x,y)
         r=(rgb And $FF0000)/$10000
         rot(x,y)=r
      Until y=239
      y=-1
   Until x=319
   UnlockBuffer BackBuffer()
   x=-1
   
   PositionEntity camera,0.6,0,0
   RenderWorld
   
   LockBuffer BackBuffer()
   Repeat
      x=x+1
      Repeat
         y=y+1
         rgb=ReadPixelFast(x,y)
         g=(rgb And $FF00)/$100
         b=rgb And $FF
         r=rot(x,y)
         rgb=r*$10000+g*$100+b
         WritePixelFast x,y,rgb
         rot(x,y)=r
      Until y=239
      y=-1
   Until x=319
   UnlockBuffer BackBuffer()
   x=-1

   Flip
   Wend
   FreeTimer frameTimer
End
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

BladeRunner

Moderator

BeitragSo, Sep 02, 2007 22:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, noch nix für das Codearchiv.
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Sep 02, 2007 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Leider ist diese Methode alles andere als echtzeittauglich.
Das ganze Pixel-Gedöns kann man sich sparen, indem man einfach das erste Render auf Textur kopiert/rendert und beim zweiten mal mitrendern lässt(additiv natürlich).
Meiner Meinung nach gehört dieser Code nicht ins Archiv.

EDIT:
Ach herje. Da war ich zu langsam...
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Chrise

BeitragSo, Sep 02, 2007 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
aMul hat Folgendes geschrieben:
Leider ist diese Methode alles andere als echtzeittauglich.
Das ganze Pixel-Gedöns kann man sich sparen, indem man einfach das erste Render auf Textur kopiert/rendert und beim zweiten mal mitrendern lässt(additiv natürlich).
Meiner Meinung nach gehört dieser Code nicht ins Archiv.

EDIT:
Ach herje. Da war ich zu langsam...


öh ja da hast du wohl ultra recht^^
Echtzeittauglich is das wirklich ned.
Leider versteh ich nur bahnhof von dem drüberrendern, etc.
Kannst du mir bitte irgendwie erklärn wie des geht?
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

aMul

Sieger des Minimalist Compo 01/13

BeitragSo, Sep 02, 2007 23:04
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Würfel rot machen.
2. Rendern.
3. Backbuffer nach Texturebuffer kopieren(Copyrect).
4. Ein Quad mit der Textur vor die Kamera(Mesh auf Blendmode 3).
5. Würfel grün machen.
7. Rendern.

Beim Rendern die Kamera natürlich immer etwas verschieben, die beiden Augen sind schließlich auch nicht auf der gleichen Stelle.

So, ich hoffe das hilft.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Chrise

BeitragSo, Sep 02, 2007 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
aMul hat Folgendes geschrieben:
1. Würfel rot machen.
2. Rendern.
3. Backbuffer nach Texturebuffer kopieren(Copyrect).
4. Ein Quad mit der Textur vor die Kamera(Mesh auf Blendmode 3).
5. Würfel grün machen.
7. Rendern.

Beim Rendern die Kamera natürlich immer etwas verschieben, die beiden Augen sind schließlich auch nicht auf der gleichen Stelle.

So, ich hoffe das hilft.


hmm erinnert mich stark an den Skript von Steptiger. Oder irr ich da?
Weil prinzipiell kommt es ja auf die Kameraverschiebung an.
.... wuah^^
das is mir zu hoch.
Llama 1 Llama 2 Llama 3
Vielen Dank an Pummelie, der mir auf seinem Server einen Platz für LlamaNet bietet.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group