Seite 1 von 1

PureBasic 5.10 - Movies im Screen

Verfasst: 14.02.2013 15:36
von hth
Ich bitte ja nun schon seit Jahren um die Überarbeitung der Movie-Bibliothek.
Hat sich die Videowiedergabe im Screenmodus mit der Aufgabe des DirectX7-Subsystems nun für PureBasic
endgültig erledigt?

Dann kann man in der Hilfe ja alles was damit zu tun hat streichen.
z.B.:
Wenn das Darstellen ("Rendern") des Movies mittels RenderMovieFrame() direkt auf Video-Oberflächen (Sprites) erfolgen soll,
dann muss als 'WindowID' die Konstante #PB_Movie_Rendered übergeben werden.


hth

_____________________________________________
Thread verschoben
Ankündigungen>Grafik & Sound - Programmierung
14.02.2013
RSBasic

Re: PureBasic 5.10 - Movies im Screen

Verfasst: 15.03.2013 05:14
von KeyKon
<PUSH>

Bevor ich einen neuen Thread eröffne hab ich mir mal gedacht ich füge meine Frage hier mal an.
Wie hth schon gesagt hat ists ja nun komplett rum mit dem RenderMovieFrame, das ja auch vorher nie sonderlich flexibel war mangels MovieSeek() Support.

Da wollte ich mal Fragen ob einer von euch vll mal was mit Movies auf dem Screen in Verbindung mit externen Libs/DLLs gemacht hat?
(Einfach mal ganz Grundlegendes, ich hab mich nämlich bisher in der Hoffnung auf Erweiterung der Movie-Befehle noch nicht wirklich damit beschäftigt)

LG KeyKon

Re: PureBasic 5.10 - Movies im Screen

Verfasst: 06.04.2013 01:22
von mpz
Hallo Leute,

was Movies in Screens betrifft kann ich Euch anbieten Euch mal meine MP3D Engine anzusehen. Ich habe gerade die Movie Befehle neu überarbeitet, so das man relativ schnell Movies auf Texturen laden kann und für Meshs und Sprites benutzen kann. Ist aber nicht "Ogre" kompatibel, sondern ein "eigener DX9 Weg". Hier mal ein Würfel auf den Ihr Eure Avis projezieren könnt. Kann aber auch der Hintergrund werden oder eine Textur die Ihr mit einem Shader (na klar in Realtime) verseht, also alles was das Herz begehrt. Ein kleines Testprogramm habe ich schnell fertig gemacht.

load MP_Videodemo.exe

Bild

Code: Alles auswählen

;////////////////////////////////////////////////////////////////
;//
;// Project Title: MP 3D Engine Beispielprogramme
;// Dateiname: MP_MoviePlayer.pb
;// Erstellt am: 06.04.2013
;// Update am  : 
;// Author: Michael Paulwitz
;// 
;// Info: 
;// Plays Movies on a cube
;//
;//
;////////////////////////////////////////////////////////////////

;- ProgrammStart

IncludeFile "MP_Screen3DRequester.pb"

If MP_Screen3DRequester("MP3D Videodemo")

;MP_Graphics3D (640,480,0,3) ; Erstelle ein WindowsFenster mit 3D Funktion #Window = 0
;SetWindowTitle(0, "3D with Video") ; Setzt einen Fensternamen

camera=MP_CreateCamera() ; Kamera erstellen
light=MP_CreateLight(1) ; Es werde Licht

Mesh=MP_CreateCube() ; Und jetzt eine WürfelMesh2=MP_CreateCube() ; Und jetzt eine Würfel

MP_PositionEntity (Mesh,0,0,2) ; Position des Würfels

avifile.s = OpenFileRequester ( "AVI File auswählen", "", "Video|*.avi", 0 ) 

Movie = MP_MovieInit (avifile)

Texture = MP_CreateTexture(0,0)

MP_EntitySetTexture (Mesh, Texture)

max = MP_MovieNumFrames (  Movie ) 

While Not MP_KeyDown(#PB_Key_Escape) And Not WindowEvent() = #PB_Event_CloseWindow; Esc abfrage oder Windows Schliessen
  
    Frame.f + 0.5
    If Frame > Max : Frame = 0 : EndIf
    
    MP_MovieToTexture (  Movie, Texture, Frame ) 
    
    If MP_KeyHit(#PB_Key_Space) 
      avifile.s = OpenFileRequester ( "AVI File auswählen", "", "Video|*.avi", 0 )
      MP_CloseMovie(  Movie ) 
      Movie = MP_MovieInit (avifile)
    EndIf
    
    MP_DrawText (10,10,"FPS: "+Str(MP_FPS ()))
    
    MP_TurnEntity (Mesh,0.1,0.1,0.1) ; dreh den Würfel
    MP_RenderWorld() ; Erstelle die Welt
    MP_Flip () ; Stelle Sie dar
    
Wend

MP_CloseMovie(  Movie ) 

EndIf
Greetings
Michael

Re: PureBasic 5.10 - Movies im Screen

Verfasst: 11.06.2013 14:25
von dige
Überlege gerade die MP3D Lib für einen Videoplayer zu nehmen. Leider scheint zumindest
die Wiedergabe auf einem Sprite mit .mp4 Videos nicht zu funktionieren...