fix uniforms in node_canvas
This commit is contained in:
@@ -948,20 +948,9 @@ void Canvas::stroke_start(glm::vec3 point, float pressure, const std::shared_ptr
|
||||
m_dirty_box[i] = glm::vec4(m_width, m_height, 0, 0); // reset bounding box
|
||||
m_dirty_face[i] = false;
|
||||
|
||||
// if (m_state == kCanvasMode::Erase || m_layers[m_current_layer_idx].m_alpha_locked)
|
||||
// {
|
||||
// m_layers[m_current_layer_idx].m_rtt[i].bindFramebuffer();
|
||||
// m_tmp[i].bindTexture();
|
||||
// glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, m_width, m_height);
|
||||
// m_tmp[i].unbindTexture();
|
||||
// m_layers[m_current_layer_idx].m_rtt[i].unbindFramebuffer();
|
||||
// }
|
||||
// else
|
||||
{
|
||||
m_tmp[i].bindFramebuffer();
|
||||
m_tmp[i].clear({ 0, 0, 0, 0 });
|
||||
m_tmp[i].unbindFramebuffer();
|
||||
}
|
||||
m_tmp[i].bindFramebuffer();
|
||||
m_tmp[i].clear({ 0, 0, 0, 0 });
|
||||
m_tmp[i].unbindFramebuffer();
|
||||
}
|
||||
m_show_tmp = true;
|
||||
}
|
||||
|
||||
@@ -179,6 +179,7 @@ void NodeCanvas::draw()
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_int(kShaderUniform::TexStroke, 1);
|
||||
ShaderManager::u_int(kShaderUniform::TexMask, 2);
|
||||
ShaderManager::u_vec2(kShaderUniform::Resolution, zw(m_canvas->m_box) / zoom);
|
||||
ShaderManager::u_float(kShaderUniform::StrokeAlpha, m_canvas->m_current_stroke->m_brush->m_tip_opacity);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, m_canvas->m_layers[layer_index].m_opacity);
|
||||
ShaderManager::u_int(kShaderUniform::UseFragCoordUV2, false);
|
||||
@@ -205,7 +206,7 @@ void NodeCanvas::draw()
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_int(kShaderUniform::TexStroke, 1);
|
||||
ShaderManager::u_int(kShaderUniform::TexMask, 2);
|
||||
//ShaderManager::u_vec2(kShaderUniform::Resolution, zw(m_canvas->m_box) / zoom);
|
||||
ShaderManager::u_vec2(kShaderUniform::Resolution, zw(m_canvas->m_box) / zoom);
|
||||
//ShaderManager::u_int(kShaderUniform::TexStencil, 3);
|
||||
ShaderManager::u_float(kShaderUniform::StrokeAlpha, m_canvas->m_current_stroke->m_brush->m_tip_opacity);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, m_canvas->m_layers[layer_index].m_opacity);
|
||||
@@ -220,15 +221,7 @@ void NodeCanvas::draw()
|
||||
m_canvas->m_tmp[plane_index].bindTexture();
|
||||
glActiveTexture(GL_TEXTURE2);
|
||||
m_canvas->m_smask.m_rtt[plane_index].bindTexture();
|
||||
glActiveTexture(GL_TEXTURE3);
|
||||
if (m_canvas->m_current_stroke->m_brush->m_stencil_texture)
|
||||
m_canvas->m_current_stroke->m_brush->m_stencil_texture->bind();
|
||||
else
|
||||
glBindTexture(GL_TEXTURE_2D, 0);
|
||||
m_face_plane.draw_fill();
|
||||
if (m_canvas->m_current_stroke->m_brush->m_stencil_texture)
|
||||
m_canvas->m_current_stroke->m_brush->m_stencil_texture->unbind();
|
||||
glActiveTexture(GL_TEXTURE2);
|
||||
m_canvas->m_smask.m_rtt[plane_index].unbindTexture();
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
m_canvas->m_tmp[plane_index].unbindTexture();
|
||||
|
||||
Reference in New Issue
Block a user