From d142fd8700057ad284e2620076d6716387f3cd63 Mon Sep 17 00:00:00 2001 From: tobigun Date: Sun, 25 Apr 2010 17:14:14 +0000 Subject: wrong usage of glTexEnvi fixed - the environment must be GL_TEXTURE_ENV and not GL_TEXTURE_2D - it must be set before a draw function (glBegin(), ...) and not before glTexImage2D() as the current texture will not store this setting (the setting is global for all textures). - the setting must be set to the default (GL_MODULATE) after usage, otherwise later opengl drawing calls will be unwantedly affected too. git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2309 b956fd51-792f-4845-bead-9b4dfca2ff2c --- src/media/UVideo.pas | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/media') diff --git a/src/media/UVideo.pas b/src/media/UVideo.pas index 0716bee2..c7d59fc8 100644 --- a/src/media/UVideo.pas +++ b/src/media/UVideo.pas @@ -824,8 +824,8 @@ begin // Or should we add padding with avpicture_fill? (check which one is faster) //glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - // TODO: check if this is faster - //glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); + // glTexEnvi with GL_REPLACE might give a small speed improvement + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); if (not fPboEnabled) then begin @@ -867,6 +867,9 @@ begin Log.LogError('PBO texture stream error: ' + gluErrorString(glErr), 'TVideo_FFmpeg.GetFrame'); end; + // reset to default + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + if (not fFrameTexValid) then fFrameTexValid := true; -- cgit v1.2.3