use unique_ptr to hold the Layers vector
This commit is contained in:
@@ -47,9 +47,9 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
auto layer_index = canvas->m_canvas->m_order[i];
|
||||
for (int plane_index = 0; plane_index < 6; plane_index++)
|
||||
{
|
||||
if (!canvas->m_canvas->m_layers[layer_index].m_visible ||
|
||||
canvas->m_canvas->m_layers[layer_index].m_opacity == .0f ||
|
||||
!canvas->m_canvas->m_layers[layer_index].m_dirty_face[plane_index])
|
||||
if (!canvas->m_canvas->m_layers[layer_index]->m_visible ||
|
||||
canvas->m_canvas->m_layers[layer_index]->m_opacity == .0f ||
|
||||
!canvas->m_canvas->m_layers[layer_index]->m_dirty_face[plane_index])
|
||||
continue;
|
||||
|
||||
int z = (int)(canvas->m_canvas->m_order.size() - i);
|
||||
@@ -67,12 +67,12 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::u_int(kShaderUniform::TexStroke, 1);
|
||||
ShaderManager::u_int(kShaderUniform::TexMask, 2);
|
||||
ShaderManager::u_float(kShaderUniform::StrokeAlpha, canvas->m_canvas->m_current_stroke->m_brush->m_tip_opacity);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_layers[layer_index].m_opacity);
|
||||
//ShaderManager::u_int(kShaderUniform::Lock, m_canvas->m_layers[layer_index].m_alpha_locked);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_layers[layer_index]->m_opacity);
|
||||
//ShaderManager::u_int(kShaderUniform::Lock, m_canvas->m_layers[layer_index]->m_alpha_locked);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, canvas->m_canvas->m_smask_active);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, plane_mvp_z);
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].bindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].bindTexture();
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
canvas->m_canvas->m_tmp[plane_index].bindTexture();
|
||||
glActiveTexture(GL_TEXTURE2);
|
||||
@@ -82,7 +82,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
canvas->m_canvas->m_tmp[plane_index].unbindTexture();
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].unbindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].unbindTexture();
|
||||
}
|
||||
else if (canvas->m_canvas->m_show_tmp && canvas->m_canvas->m_current_layer_idx == layer_index)
|
||||
{
|
||||
@@ -100,8 +100,8 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::u_vec2(kShaderUniform::Resolution, canvas->m_canvas->m_size);
|
||||
ShaderManager::u_int(kShaderUniform::TexPattern, 3);
|
||||
ShaderManager::u_float(kShaderUniform::StrokeAlpha, b->m_tip_opacity);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_layers[layer_index].m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, canvas->m_canvas->m_layers[layer_index].m_alpha_locked);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_layers[layer_index]->m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::Lock, canvas->m_canvas->m_layers[layer_index]->m_alpha_locked);
|
||||
ShaderManager::u_int(kShaderUniform::Mask, canvas->m_canvas->m_smask_active);
|
||||
//ShaderManager::u_int(kShaderUniform::DrawOnScreen, true);
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, b->m_blend_mode);
|
||||
@@ -117,7 +117,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::u_vec2(kShaderUniform::PatternOffset, Canvas::I->m_pattern_offset);
|
||||
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].bindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].bindTexture();
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
canvas->m_canvas->m_tmp[plane_index].bindTexture();
|
||||
glActiveTexture(GL_TEXTURE2);
|
||||
@@ -131,7 +131,7 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
canvas->m_canvas->m_tmp[plane_index].unbindTexture();
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].unbindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].unbindTexture();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -140,21 +140,21 @@ void App::vr_draw(const glm::mat4& proj, const glm::mat4& camera, const glm::mat
|
||||
ShaderManager::use(kShader::TextureAlphaSep);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_int(kShaderUniform::TexA, 1);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_layers[layer_index].m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::Highlight, canvas->m_canvas->m_layers[layer_index].m_hightlight);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, canvas->m_canvas->m_layers[layer_index]->m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::Highlight, canvas->m_canvas->m_layers[layer_index]->m_hightlight);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, plane_mvp_z);
|
||||
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].bindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].bindTexture();
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].bindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].bindTexture();
|
||||
|
||||
m_face_plane.draw_fill();
|
||||
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].unbindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].unbindTexture();
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
canvas->m_canvas->m_layers[layer_index].m_rtt[plane_index].unbindTexture();
|
||||
canvas->m_canvas->m_layers[layer_index]->m_rtt[plane_index].unbindTexture();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user