Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Nov 10, 2024 20:20

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
BeitragVerfasst: Di Mär 18, 2014 12:51 
Offline
DGL Member

Registriert: Fr Feb 04, 2011 19:05
Beiträge: 13
Hallo zusammen,

ich möchte den GlBitmap-Loader um Texturen dynamisch zu erzeugen. Nun habe ich aber das Problem, wenn ich die Textur im Nachhinein über die Scanline (von glBidmap2D) eine Zugriffsverletzung erhalte. Der selbe Code funktioniert vor dem Einbinden in OpenGL einwandfrei. Kann es sein, dass das Ändern der Textur nach
Code:
  1.   fTexture1.GenTexture();
  2.   ftexture1.Bind;
nicht mehr möglich ist? Muss ich stattdessen für jeden (geänderten) Frame eine neue Textur erzeugen?

Vielleicht gibt es aber auch eine geschicktere, CPU schonendere Lösung um die Rohdaten des Format Array of tRGBA (tRGBA = record r,g,b,a : byte; end; - Daten einfach hintereinander geschrieben, Kantenlängen keine 2er-Potenz) als Textur auf eine OpenGl-Fläche zu bringen.

Vielen Dank im Voraus.

Edit: Ich habe den Code nun optimiert. Insbesondere das ersetzen der Schleife durch
Code:
  1.   Move(VLCctx.vlcpixels[0],tRGBA(fTexture1.Scanline[0]^),VideoHeight*VideoWidth*4);
hat die Ausführung stark beschleunigt. Nun zeichnet mein PC mit ca. 300 FPS. Erst ab ca. 768*1024 Videos bricht die Framerate ein. Bei FullHD bricht die Framerate auf 75-90 FPS ein. Hier musste ich erst den IdleHandler manuell aufrufen, damit gerendert wurde, da die CPU überfordert wurde. Hier wird dann auch die Asynchronität zu VLC sichtbar. Daher muss ich das ganze jetzt noch synchronisieren.

Edit2: Beim einbauen der Synchronisation fiel auf, dass das Video weiterhin nur mit wenigen FPS verarbeitet wurde. Dieses Problem konnte ich mit
Code:
  1. fTexture1.FreeDataAfterGenTexture := False;
lösen, denn dadurch muss ich fTexture1 nicht jedes mal neu erzeugen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.026s | 17 Queries | GZIP : On ]