fix white trail in mixer, now it works fine
This commit is contained in:
@@ -354,7 +354,7 @@ void App::initShaders()
|
|||||||
" mediump vec2 uv_mix = uv_2 / q;\n"
|
" mediump vec2 uv_mix = uv_2 / q;\n"
|
||||||
" if (uv_mix.x < 0.0 || uv_mix.x > 1.0 || uv_mix.y < 0.0 || uv_mix.y > 1.0) discard;\n"
|
" if (uv_mix.x < 0.0 || uv_mix.x > 1.0 || uv_mix.y < 0.0 || uv_mix.y > 1.0) discard;\n"
|
||||||
" mediump vec4 mbg = texture(tex_mix, uv_mix);\n"
|
" mediump vec4 mbg = texture(tex_mix, uv_mix);\n"
|
||||||
" fg.rgb = mix(fg.rgb, mbg.rgb, mix_alpha);\n"
|
" fg.rgb = mix(fg.rgb, mbg.rgb, mix_alpha * mbg.a);\n"
|
||||||
" }\n"
|
" }\n"
|
||||||
" mediump float contribution = (1.0 - bg.a) * fg.a;\n"
|
" mediump float contribution = (1.0 - bg.a) * fg.a;\n"
|
||||||
" mediump float alpha_tot = bg.a + contribution;"
|
" mediump float alpha_tot = bg.a + contribution;"
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ void ui::Canvas::stroke_cancel()
|
|||||||
void ui::Canvas::stroke_draw_mix()
|
void ui::Canvas::stroke_draw_mix()
|
||||||
{
|
{
|
||||||
m_mixer.bindFramebuffer();
|
m_mixer.bindFramebuffer();
|
||||||
m_mixer.clear({ 1, 1, 1, 1 });
|
m_mixer.clear({ 1, 1, 1, 0 });
|
||||||
|
|
||||||
glViewport(0, 0, m_mixer.getWidth(), m_mixer.getHeight());
|
glViewport(0, 0, m_mixer.getWidth(), m_mixer.getHeight());
|
||||||
glDisable(GL_DEPTH_TEST);
|
glDisable(GL_DEPTH_TEST);
|
||||||
|
|||||||
@@ -270,7 +270,8 @@ void NodeCanvas::handle_resize(glm::vec2 old_size, glm::vec2 new_size)
|
|||||||
{
|
{
|
||||||
if (new_size.x > m_canvas->m_width)
|
if (new_size.x > m_canvas->m_width)
|
||||||
{
|
{
|
||||||
m_canvas->m_mixer.create((int)new_size.x * m_canvas->m_mixer_scale, (int)new_size.y * m_canvas->m_mixer_scale);
|
m_canvas->m_mixer.create((int)new_size.x * m_canvas->m_mixer_scale,
|
||||||
|
(int)new_size.y * m_canvas->m_mixer_scale);
|
||||||
if (auto img = root()->find<NodeImageTexture>("tex-debug"))
|
if (auto img = root()->find<NodeImageTexture>("tex-debug"))
|
||||||
img->tex.assign(m_canvas->m_mixer.getTextureID());
|
img->tex.assign(m_canvas->m_mixer.getTextureID());
|
||||||
// m_canvas->resize((int)new_size.x, (int)new_size.y);
|
// m_canvas->resize((int)new_size.x, (int)new_size.y);
|
||||||
|
|||||||
Reference in New Issue
Block a user