fix mixer on hdpi scale

This commit is contained in:
2019-05-16 23:47:43 +02:00
parent ab9767556f
commit f6187b7f86
2 changed files with 21 additions and 22 deletions

View File

@@ -440,26 +440,6 @@ void NodeCanvas::draw()
}
}
if (zoom > 1.f)
{
m_rtt.unbindFramebuffer();
glClearColor(1, 1, 1, 0);
glClear(GL_COLOR_BUFFER_BIT);
glViewport(c.x + App::I.off_x, c.y + App::I.off_y, c.z, c.w);
// draw the canvas
m_sampler_linear.bind(0);
glActiveTexture(GL_TEXTURE0);
m_rtt.bindTexture();
ShaderManager::use(kShader::Texture);
ShaderManager::u_int(kShaderUniform::Tex, 0);
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho<float>(-1, 1, -1, 1));
m_face_plane.draw_fill();
m_rtt.unbindTexture();
}
glDisable(GL_DEPTH_TEST);
if (m_canvas->m_smask_active || m_canvas->m_current_mode == kCanvasMode::Copy || m_canvas->m_current_mode == kCanvasMode::Cut)
{
@@ -479,6 +459,25 @@ void NodeCanvas::draw()
for (auto& mode : *m_canvas->m_mode)
mode->on_Draw(ortho_proj, proj, camera);
if (zoom > 1.f)
{
m_rtt.unbindFramebuffer();
glClearColor(1, 1, 1, 0);
glClear(GL_COLOR_BUFFER_BIT);
glViewport(c.x + App::I.off_x, c.y + App::I.off_y, c.z, c.w);
// draw the canvas
m_sampler_linear.bind(0);
glActiveTexture(GL_TEXTURE0);
m_rtt.bindTexture();
ShaderManager::use(kShader::Texture);
ShaderManager::u_int(kShaderUniform::Tex, 0);
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho<float>(-1, 1, -1, 1));
m_face_plane.draw_fill();
m_rtt.unbindTexture();
}
blend ? glEnable(GL_BLEND) : glDisable(GL_BLEND);
depth ? glEnable(GL_DEPTH_TEST) : glDisable(GL_DEPTH_TEST);
m_sampler.unbind();