Home
- POV-Ray Tutorial
Stereo-Bilder und
Stereo Animationen
Inhalt
Kreuzblick (Cross-Eye)
Stereo-Bilder basic
Stereo-Bilder advanced
Bildpaare kombinieren
> Stereo-Animation 1
Stereo-Animation 2
Beispiele Stereo-Anims
|
Stereo-Animation (1)
Wie macht man
eine Serie von Stereo-Bildern für eine Animation.
|
1.1 Erstellung einer POV-Ray-Stereo-Szenendatei
wie in 'Stereobilder advanced' gezeigt.
Hierbei verwenden wir die 'frame_number' um zu steuern, ob
ein rechtsäugiger oder linksäugiger Blick gerendert werden soll:
ungerade Frame-Nummer 1, 3, 5, ... = rechtes Auge,
gerade Frame-Nummer 2, 4, 6, ... = linkes Auge,
frame_number 0 = Nicht-Stereo-Ansicht zum Testen der Szene.
Für eine Animation von z.B. 30 frames, müssen wir somit
2*30=60 frames rendern !
Animation mit 'clock' und 'frame_number':
1. frame_number basierende Animationssteuerung:
Hier müssen wir eine neue frame-Nummer namens Frame verwenden.
Für gerade frame-Nummern:
#declare Frame = int( frame_number/2 );
andernfalls #declare Frame = int((frame_number+1)/2);
und als neue "final frame number":
#declare EndFrame = final_frame/2;
2. clock basierende Animationssteuerung:
Hier müssen wir clock_delta verwenden, um die
interne Zeit (hier: 'Time') den clock-Werten anzupassen!
(built-in clock_delta = Unterschied zwischen den clock-Werten)
Mit z.B. Initial_Clock=0, Final_Clock=1,
Initial_Frame=1 und Final_Frame=60,
verwenden wir für die ungeraden frame_number:
#declare Time = clock ;
und für die geraden frame_number:
#declare Time = clock - clock_delta;
In einer POV-Ray-Szenendatei Stereo_Ani_00_.pov
deklarieren wir eine Stereokamera wie folgt:
(Zu Details siehe Szenendateien rechts !!!!)
// -------------------- // stereo view:
#declare Stereo_On = 1;
#if( Stereo_On = 1 )
#declare Eye_Distance = 0.4;
// Stereo Animations frame counting:
// stereo starts: frame_number = 1
// odd frame numbers 1,3,5,... = right
// even frame number 2,4,6,... = left
// stereo: frame 1~60 -> frame pair = 1~30!
#if((frame_number/2)!=int(frame_number/2))
// odd frame_number
#declare Eye_Distance =-Eye_Distance;
#declare Time = clock ;
#declare Frame = (frame_number+1)/2 ;
#else // even frame_number
#declare Eye_Distance =+Eye_Distance;
#declare Time = clock - clock_delta ;
#declare Frame = (frame_number )/2 ;
#end
#declare EndFrame = final_frame/2;
#else // Stereo_On = 0
#declare Eye_Distance = 0;
#declare Time = clock +0.0 ;
#declare Frame = frame_number ;
#declare EndFrame = final_frame ;
#end // of "#if( Stereo_On = 1 ) "
//------------------------------------------
#declare Camera_Position= < 0.0, 2.0,-4.0>;
#declare Camera_Look_At = < 0.0, 2.0, 0.0>;
#declare Camera_Angle = 65 ;
//------------------------------------------
camera{
location Camera_Position
+ Eye_Distance/2
* vnormalize(
vcross(
Camera_Look_At-Camera_Position,
<0,1,0>
)// vcross
)// vnormalize
right x*image_width/image_height
angle Camera_Angle
look_at Camera_Look_At
} // end camera
// .... lights and background ...
// .... and an object in scene:
object{
Wire_Box(<-1,-1,-1>,<1,1,1>,0.1,0)
texture{pigment{color rgb<1,1,1>*1.2}}
#if(frame_number != 0)// stereo
rotate<0, Time*90 ,0>
// or optional:
// rotate<0,(Frame-1)/EndFrame*90,0>
#end
translate<0,2.0,0>
} // --------------------------------------- |
Für ein quadratisches Rendering, verwenden wir
die Kommandozeile:
" +w240 +h240 ".
Mit POV-Ray 3.7 mit jpeg-Output auch
" +w240 +h240 +fj100 ".
|
Die Situation der freibeweglichen Kamera:
nicht-stereo camera location (violet),
Positionen des rechten und linken Auges (yellow/red),
freibeweglicher look_at-Punkt (yellowgreen).
Diese Szene in nicht-stereo.
Gerendert mit der Szenendatei.
Wird nicht die Ini-Datei gestartet, dann
ist frame_number=0 (default). Daher ist
Half_Eye_Distance=0 und dies zeigt
die Szene in nicht-stereo Ansicht.
|
1.2: Erstellung einer Stereo-Animation-Ini-Datei
Dateiname: Stereo_Ani_00_.ini:
|
Antialias=On
Antialias_Threshold=0.3
Antialias_Depth=3
Input_File_Name=Stereo_Ani_00_.pov
Initial_Frame=1
Final_Frame=60
; 1~60 for 30 images
Initial_Clock=0
Final_Clock=1
Cyclic_Animation=on
Pause_when_Done=off |
Anmerkung: frame_number 0 ist reserviert für Nicht-Stereo-Blick!
Das Starten dieser Datei in POV-Ray
erzeugt eine Serie vom 30 Stereo-Bildpaaren:
30 rechtsäugige: Nummern 01,03,05,...,29
und 30 linksäugige : Nummern 02,04,06,...,30.
POV-Ray 3.6 / 3.7
Stereo-Szenendatei: Stereo_Ani_00_.pov
Stereo-Animations-Ini-Datei: Stereo_Ani_00_.ini
|
Blick für das rechte Auge.
Stereo_Ani_00_01.jpg
|
Blick für das linke Auge.
Stereo_Ani_00_02.jpg
|
Weiter mit 2.1: Zusammenfügen von Stereo-Bildpaaren
|
|