PureBasic 5.10 - Movies im Screen

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
hth
Beiträge: 76
Registriert: 08.10.2004 22:47

PureBasic 5.10 - Movies im Screen

Beitrag 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
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Re: PureBasic 5.10 - Movies im Screen

Beitrag 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
(\/) (°,,,°) (\/)
Benutzeravatar
mpz
Beiträge: 505
Registriert: 14.06.2005 15:53
Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
Wohnort: Berlin, Tempelhof

Re: PureBasic 5.10 - Movies im Screen

Beitrag 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
Working on :lol: - LibSGD - MP3D Engine - 8)
Benutzeravatar
dige
Beiträge: 1236
Registriert: 08.09.2004 08:53

Re: PureBasic 5.10 - Movies im Screen

Beitrag 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...
"Papa, ich laufe schneller - dann ist es nicht so weit."
Antworten