fixed alpha blending in some situations

This commit is contained in:
itsmattkc
2018-12-01 11:56:30 +11:00
parent 326403c126
commit 0188920556
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -50,7 +50,7 @@ SolidEffect::SolidEffect(Clip* c, const EffectMeta* em) : Effect(c, em) {
void SolidEffect::redraw(double timecode) {
int w = img.width();
int h = img.height();
int alpha = (opacity_field->get_double_value(timecode)*2.55);
int alpha = qRound(opacity_field->get_double_value(timecode)*2.55);
switch (solid_type->get_combo_data(timecode).toInt()) {
case SOLID_TYPE_COLOR:
{
+2 -1
View File
@@ -36,7 +36,7 @@ extern "C" {
#include <libavformat/avformat.h>
}
#define GL_DEFAULT_BLEND glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_SRC_ALPHA, GL_ONE);
#define GL_DEFAULT_BLEND glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ONE);
ViewerWidget::ViewerWidget(QWidget *parent) :
QOpenGLWidget(parent),
@@ -312,6 +312,7 @@ GLuint ViewerWidget::draw_clip(QOpenGLFramebufferObject* fbo, GLuint texture, bo
fbo->bind();
if (clear) glClear(GL_COLOR_BUFFER_BIT);
GL_DEFAULT_BLEND
glBindTexture(GL_TEXTURE_2D, texture);
glBegin(GL_QUADS);