Beim Nachprogrammieren bitte darauf achten, dass ShowText etc. auch Prozeduren aufruft, die GL-Befehle enthalten. Wenn das Video also nicht so aussieht wie hier in dem Demo-Programm, einfach mal die ShowText Befehle mitnehmen
Nächstes Ziel: Videotextur mit mehr als 256x256 Pixel. Man lernt immer dazu!
Vielen Dank an Lossy eX und tak2004 für die besondere Geduld. Thx!
Das Abspielen von größeren Videos an sich ist eigentlich kein Problem (Texturgrößen entsprechend auf 512 oder 1024 ändern)..
nur habe ich ein Performanceproblem. Ich spiele ein 1024x1024 Video ab, mit dem Microsoft MPEG4 Codec komprimiert. Läuft auf meinem PC mit 110FPS (3800+, 7800GT). Auf meinem alten PC (1Ghz, GeForce2GTS) läuft das ganze nur noch mir gerade mal 6FPS. Obowhl das Video an sich ohne Probleme im Windows Media Player abgespielt wird.. kann ich da etwas dran ändern? Wenn ich die Auflösung auf 512x512 halbiere, läuft es mit ca. 18FPS..
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Eines darfst du nicht vergessen. Diese Methode zum Videosrendern ist alt. Das Bild wird erst noch mal irgend wohin gezeichnet und dort bereits schon in der Größe angepasst. Anschließend wird es dort wieder rauskopiert etc etc etc. Das ist verdammt viel zu tun und ältere Systeme haben irgendwo auch einfach ihre Grenze.
Eine Optimierung.
Die DIBSection des DCs auf 32 Bitfarbtiefe stellen und das Texturformat entsprechend auf BGRA ändern. Natürlich beim Erstellen der Textur als ersten Wert nicht mehr GL_RGB dann GL_RGBA und alle GL_BGR durch GL_BGRA ändern. Bzw die 24 bei der Struktur für CreateDIBSection auf 32 Stellen. Einige Grafikkarten haben "Probleme" mit 24 Bit Texturen. Da dauert das Uploaden länger als bei 32 Bit.
Ein ganz andere Weg ist zum Beispiel über den DirectShow Renderer. Dort bekommt man per Callback dann die Daten reingereicht und kann sie direkt hochladen.
Habe mir nun mal den DirectShowRenderer von Hackbart angeschaut. Er läuft zwar, aber im Moment wird nur das weiße Quad ohne Textur gezeichnet. Was daran liegt, dass ich keine Videodatei geladen habe.. finde keine passende Funktion. Muss ich das noch selber implementieren?
Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.