wie ja schon einige mitbekommen haben portiere ich gerade DOOM nach FPC.
Was mir nun aufgefallen ist, ist das das "Hochladen" eines Fertigen Frames nach OpenGL extrem Langsam ist. Aktuell "Aktualisiere" ich nach jedem Frame meine Textur wie folgt:
Code: Alles auswählen
// Die OpenGL Textur auswählen
glBindTexture(GL_TEXTURE_2D, OpenGLTexture);
// Konvertieren von 8-Bit nach RGB
For i := 0 To high(I_VideoBuffer) Do Begin
rgb := Doom8BitTo24RGBBit[I_VideoBuffer[i]];
OpenGLData[i][0] := (rgb) And $FF;
OpenGLData[i][1] := (rgb Shr 8) And $FF;
OpenGLData[i][2] := (rgb Shr 16) And $FF;
End;
// Hochladen des neuen FRames
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, SCREENWIDTH, SCREENHEIGHT, GL_RGB, GL_UNSIGNED_BYTE, @OpenGLData[0]);