Mercurial > mplayer.hg
comparison libvo/vo_gl.c @ 34839:5e29e950d918
Do not needlessly modulate the texture color with the vertex color.
Might give some speedup on not-so-intelligent GL implementations
that also have very little compute power.
author | reimar |
---|---|
date | Sun, 20 May 2012 15:30:01 +0000 |
parents | eba74596e6ee |
children | 8dd474c27a8d |
comparison
equal
deleted
inserted
replaced
34838:716f2ddf8773 | 34839:5e29e950d918 |
---|---|
550 mpglDepthMask(GL_FALSE); | 550 mpglDepthMask(GL_FALSE); |
551 mpglDisable(GL_CULL_FACE); | 551 mpglDisable(GL_CULL_FACE); |
552 mpglEnable(gl_target); | 552 mpglEnable(gl_target); |
553 if (mpglDrawBuffer) | 553 if (mpglDrawBuffer) |
554 mpglDrawBuffer(vo_doublebuffering?GL_BACK:GL_FRONT); | 554 mpglDrawBuffer(vo_doublebuffering?GL_BACK:GL_FRONT); |
555 mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | 555 mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); |
556 | 556 |
557 mp_msg(MSGT_VO, MSGL_V, "[gl] Creating %dx%d texture...\n", | 557 mp_msg(MSGT_VO, MSGL_V, "[gl] Creating %dx%d texture...\n", |
558 texture_width, texture_height); | 558 texture_width, texture_height); |
559 | 559 |
560 glCreateClearTex(gl_target, gl_texfmt, gl_format, gl_type, scale_type, | 560 glCreateClearTex(gl_target, gl_texfmt, gl_format, gl_type, scale_type, |
803 }; | 803 }; |
804 mpglMatrixMode(GL_PROJECTION); | 804 mpglMatrixMode(GL_PROJECTION); |
805 mpglPushMatrix(); | 805 mpglPushMatrix(); |
806 mpglLoadMatrixf(matrix); | 806 mpglLoadMatrixf(matrix); |
807 } | 807 } |
808 if (osd_color != 0xffffff) | |
809 mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); | |
808 mpglEnable(GL_BLEND); | 810 mpglEnable(GL_BLEND); |
809 if (draw_eosd) { | 811 if (draw_eosd) { |
810 mpglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); | 812 mpglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); |
811 mpglCallList(eosdDispList); | 813 mpglCallList(eosdDispList); |
812 } | 814 } |
820 mpglBlendFunc(GL_SRC_ALPHA, GL_ONE); | 822 mpglBlendFunc(GL_SRC_ALPHA, GL_ONE); |
821 mpglCallLists(osdtexCnt, GL_UNSIGNED_INT, osdDispList); | 823 mpglCallLists(osdtexCnt, GL_UNSIGNED_INT, osdDispList); |
822 } | 824 } |
823 // set rendering parameters back to defaults | 825 // set rendering parameters back to defaults |
824 mpglDisable(GL_BLEND); | 826 mpglDisable(GL_BLEND); |
827 if (osd_color != 0xffffff) | |
828 mpglTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); | |
825 if (!scaled_osd) | 829 if (!scaled_osd) |
826 mpglPopMatrix(); | 830 mpglPopMatrix(); |
827 mpglBindTexture(gl_target, 0); | 831 mpglBindTexture(gl_target, 0); |
828 } | 832 } |
829 | 833 |