multiple selection for free mask
This commit is contained in:
@@ -443,10 +443,31 @@ void NodeCanvas::draw()
|
||||
glDisable(GL_DEPTH_TEST);
|
||||
if (m_canvas->m_smask_active || m_canvas->m_current_mode == kCanvasMode::Copy || m_canvas->m_current_mode == kCanvasMode::Cut)
|
||||
{
|
||||
if (m_canvas->m_smask_mode == 1)
|
||||
m_canvas->modes[(int)kCanvasMode::MaskFree][0]->on_Draw(ortho_proj, proj, camera);
|
||||
else if (m_canvas->m_smask_mode == 2)
|
||||
m_canvas->modes[(int)kCanvasMode::MaskLine][0]->on_Draw(ortho_proj, proj, camera);
|
||||
// if (m_canvas->m_smask_mode == 1)
|
||||
// m_canvas->modes[(int)kCanvasMode::MaskFree][0]->on_Draw(ortho_proj, proj, camera);
|
||||
// else if (m_canvas->m_smask_mode == 2)
|
||||
// m_canvas->modes[(int)kCanvasMode::MaskLine][0]->on_Draw(ortho_proj, proj, camera);
|
||||
|
||||
ShaderManager::use(kShader::TextureMask);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
glEnable(GL_BLEND);
|
||||
|
||||
//draw the cube faces
|
||||
for (int plane_index = 0; plane_index < 6; plane_index++)
|
||||
{
|
||||
auto plane_mvp = proj * camera *
|
||||
glm::scale(glm::vec3(m_canvas->m_order.size() + 500.f)) *
|
||||
m_canvas->m_plane_transform[plane_index] *
|
||||
glm::translate(glm::vec3(0, 0, -1.f));
|
||||
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, plane_mvp);
|
||||
m_canvas->m_smask.m_rtt[plane_index].bindTexture();
|
||||
m_face_plane.draw_fill();
|
||||
m_canvas->m_smask.m_rtt[plane_index].unbindTexture();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// keep drawing the grids
|
||||
|
||||
Reference in New Issue
Block a user