Wie gesagt, die Hintergründe sind 2D. Im Prinzip ist ein Video ja auch nur eine Animation. Ist ja kein Problem das Bild oder Ausschnitte des Hintergrunds zu animieren. Einfach nur eine zeitliche aneinanderreihung von Bildern.Rubiko hat geschrieben: Ich vermute mal, das Video wird einfach nur im Hintergrund abgespielt während das Spiel noch weiterläuft (sollte ja eigentlich keine Probleme geben), oder?
Aufbau von 3D Spielen
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

Hmm als Beispiel: Du siehst ein Schiff wegfahren, während Du selbst im Hafen stehst. Das Schiff und das Wasser ist als Video gedreht, und der Hafen und Deine Figur ist 3D. Ist das so richtig verstanden?
Wenn ja, dann gibt's mehrere Möglichkeiten. Entweder es ist doch kein Video, sondern es sind 3D-Objekte die sich durch eine geskriptete Animation bewegen, oder es ist ein Video, das als Texture auf eine große Fläche (in dem Fall sowas wie eine Leinwand) gerendert wird. Vielleicht gibt's noch andere Möglichkeiten, z.B. erst das aktuelle Frame aus dem Video in den Bildbuffer schreiben und danach ganz normal seine 3D-Sachen zu machen, aber da weiß ich letztendlich auch nicht so gut drüber Bescheid.
Wenn ja, dann gibt's mehrere Möglichkeiten. Entweder es ist doch kein Video, sondern es sind 3D-Objekte die sich durch eine geskriptete Animation bewegen, oder es ist ein Video, das als Texture auf eine große Fläche (in dem Fall sowas wie eine Leinwand) gerendert wird. Vielleicht gibt's noch andere Möglichkeiten, z.B. erst das aktuelle Frame aus dem Video in den Bildbuffer schreiben und danach ganz normal seine 3D-Sachen zu machen, aber da weiß ich letztendlich auch nicht so gut drüber Bescheid.

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Ich bin auch jemand, der ab und zu mal dazu rät das manche Leute sich erstmal mit simpleren Sachen beschäftigen sollen. Da bitte dann auch mal genauer hinlesen. Ich schreibe nie: Bekommst du sowieso nicht alleine hin. Ich weise darauf hin das eventuell grundlegende Kenntnisse fehlen und in den meisten Fällen gebe ich einen Startpunkt, wo man anfangen kann sein Wissen zu erweitern. Es ist einfach mal so das es ungemein komplexe Themen und Problematiken gibt, die sich so einfach nicht erklären lassen, wenn das Grundwissen fehlt.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Man kann ja anstatt clearscreen() das Video in Vollbild ausgeben und erst dann die Szene rendern... Auch gab es schon oft Videos auf Texturen rendern...
Man könnte sich also aus mehreren Videos sogar eine Skybox basteln und hätte durch schöne vorgerenderte Sequenzen eine atemberaubende Spielewelt erschaffen.
Gerade bei solchen Fantasyspielen eine interessante Variante.
OT:
Ich denke da wird ein Haufen Grafiker an den Sequenzen sitzen, aber die Japaner sind ja in solche Dinge vernarrt. Animierte Mangas zeichnen sie auch noch am liebsten per Hand CG kommt nur in Kampfszenen vor... (aber das machen mittlerweile meist ja die Koreaner)
Filme nur in CG sind ja eher selten und sehen imho irgendwo auch nicht immer toll aus.
Man könnte sich also aus mehreren Videos sogar eine Skybox basteln und hätte durch schöne vorgerenderte Sequenzen eine atemberaubende Spielewelt erschaffen.
Gerade bei solchen Fantasyspielen eine interessante Variante.
OT:
Ich denke da wird ein Haufen Grafiker an den Sequenzen sitzen, aber die Japaner sind ja in solche Dinge vernarrt. Animierte Mangas zeichnen sie auch noch am liebsten per Hand CG kommt nur in Kampfszenen vor... (aber das machen mittlerweile meist ja die Koreaner)
Filme nur in CG sind ja eher selten und sehen imho irgendwo auch nicht immer toll aus.
I´a dllfreak2001
Ja nur ist das nicht immer möglich. Habe das mal mit OpenGL und SDL versucht, wenn ich OpenGL verwende, dann darf ich nicht nebenbei (auch nicht davor oder danach) in den Grafikbuffer zeichnen, das kann zu Abstürzen führen. Die genauen Gründe dafür kenn ich allerdings nicht.Man kann ja anstatt clearscreen() das Video in Vollbild ausgeben und erst dann die Szene rendern...
Also es kann schon sein daß es mit anderen APIs funktioniert, nur wie gesagt, in meinem Fall ging das nicht.

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Das verstehe ich jetzt nicht ganz. Wenn du nicht in den Grafikbuffer zeichnen darfst, wie bekommst du dann jemals ein Bild auf den Schirm?ZeHa hat geschrieben: Ja nur ist das nicht immer möglich. Habe das mal mit OpenGL und SDL versucht, wenn ich OpenGL verwende, dann darf ich nicht nebenbei (auch nicht davor oder danach) in den Grafikbuffer zeichnen, das kann zu Abstürzen führen. Die genauen Gründe dafür kenn ich allerdings nicht.
Ich glaub ich hab das jetzt nicht so richtig verstanden.
Was meinst du mit nebenbei, davor oder danach?
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

-
DarkDragon
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Er meint, dass man nicht GDI/2D SDL/Direct Show mit dem Renderingvorgang (OpenGL) auf der Grafikkarte vermischen sollte (Er würde DirectShow in verbindung mit OpenGL bringen). Das trifft hier aber nicht zu, denn wir laden die AVIFrames in eine OpenGL Textur und zeichnen die dann.Thorium hat geschrieben:Das verstehe ich jetzt nicht ganz. Wenn du nicht in den Grafikbuffer zeichnen darfst, wie bekommst du dann jemals ein Bild auf den Schirm?ZeHa hat geschrieben: Ja nur ist das nicht immer möglich. Habe das mal mit OpenGL und SDL versucht, wenn ich OpenGL verwende, dann darf ich nicht nebenbei (auch nicht davor oder danach) in den Grafikbuffer zeichnen, das kann zu Abstürzen führen. Die genauen Gründe dafür kenn ich allerdings nicht.![]()
Ich glaub ich hab das jetzt nicht so richtig verstanden.![]()
Was meinst du mit nebenbei, davor oder danach?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Oh, ja das macht Sinn, das des nicht gehen kann.DarkDragon hat geschrieben:Er meint, dass man nicht GDI/2D SDL/Direct Show mit dem Renderingvorgang (OpenGL) auf der Grafikkarte vermischen sollte (Er würde DirectShow in verbindung mit OpenGL bringen).Thorium hat geschrieben:Das verstehe ich jetzt nicht ganz. Wenn du nicht in den Grafikbuffer zeichnen darfst, wie bekommst du dann jemals ein Bild auf den Schirm?ZeHa hat geschrieben: Ja nur ist das nicht immer möglich. Habe das mal mit OpenGL und SDL versucht, wenn ich OpenGL verwende, dann darf ich nicht nebenbei (auch nicht davor oder danach) in den Grafikbuffer zeichnen, das kann zu Abstürzen führen. Die genauen Gründe dafür kenn ich allerdings nicht.![]()
Ich glaub ich hab das jetzt nicht so richtig verstanden.![]()
Was meinst du mit nebenbei, davor oder danach?
Zur Zeit von FF7 waren AVI's sowieso untypisch für Spiele. Die meisten haben eigene Filmformate verwendet und so auch die Filme zu Fuß auf Texturen gezeichnet ohne irgendwelche API's.
Gab auch extra kommerzielle Filmformate für Spiele, wie z.b. Bink. Wird aber heute immer unpopulärer.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Ich meine aber das ink nicht zum zeichen auf Texturen verwendet wurde.
Das war nur ein x-beliebiges Videoformat für Zwischensequenzen ohne Interaktion. Es gibt ja noch nen haufen anderer Buffer in OpenGL... da kann man auch rumkritzeln les mich grad in eine interessante Seite ein:
http://wiki.delphigl.com/index.php/Tuto ... -Tutorials
Aber direkt auf PB übertragen kann man es nicht so einfach.
Das war nur ein x-beliebiges Videoformat für Zwischensequenzen ohne Interaktion. Es gibt ja noch nen haufen anderer Buffer in OpenGL... da kann man auch rumkritzeln les mich grad in eine interessante Seite ein:
http://wiki.delphigl.com/index.php/Tuto ... -Tutorials
Aber direkt auf PB übertragen kann man es nicht so einfach.
I´a dllfreak2001
-
DarkDragon
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Auf welche Buffer willst du denn kritzeln? Du musst auf jeden Fall die Videoframes auf eine Textur packen. Direkte Zugriffe auf die Framebuffers sind nicht erlaubt. Selbst bei den modernen FBOs.dllfreak2001 hat geschrieben:Ich meine aber das ink nicht zum zeichen auf Texturen verwendet wurde.
Das war nur ein x-beliebiges Videoformat für Zwischensequenzen ohne Interaktion. Es gibt ja noch nen haufen anderer Buffer in OpenGL... da kann man auch rumkritzeln les mich grad in eine interessante Seite ein:
http://wiki.delphigl.com/index.php/Tuto ... -Tutorials
Aber direkt auf PB übertragen kann man es nicht so einfach.
Und wobei hast du Probleme es nach PB zu übertragen?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.