use actual screen resolution and use multiple buffers drawing only when blending is in use

This commit is contained in:
2019-01-08 10:29:47 +01:00
parent 4013a3b9bd
commit 71f79a7fa0
3 changed files with 69 additions and 23 deletions

View File

@@ -247,7 +247,7 @@ void Canvas::stroke_draw_mix(const glm::vec2& bb_min, const glm::vec2& bb_sz)
{
if (!m_layers[layer_index].m_visible ||
m_layers[layer_index].m_opacity == .0f ||
!m_layers[layer_index].m_dirty_face)
!m_layers[layer_index].m_dirty_face[plane_index])
continue;
glm::mat4 proj = glm::perspective(glm::radians(m_cam_fov), (float)m_mixer.getWidth() / m_mixer.getHeight(), 0.1f, 1000.f);
@@ -1304,7 +1304,7 @@ void Canvas::export_equirectangular_thread(std::string file_path)
{
if (!m_layers[layer_index].m_visible ||
m_layers[layer_index].m_opacity == 0.f ||
!m_layers[layer_index].m_dirty_face)
!m_layers[layer_index].m_dirty_face[i])
continue;
glActiveTexture(GL_TEXTURE2);
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, m_width, m_height);
@@ -2094,7 +2094,7 @@ Image Canvas::thumbnail_generate(int w, int h)
{
if (!m_layers[layer_index].m_visible ||
m_layers[layer_index].m_opacity == 0.f ||
!m_layers[layer_index].m_dirty_face)
!m_layers[layer_index].m_dirty_face[i])
continue;
glActiveTexture(GL_TEXTURE2);
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, w, h);