implement framebuffer fetch on iOS for bleding
This commit is contained in:
@@ -271,7 +271,9 @@ void NodeCanvas::draw()
|
||||
ShaderManager::use(kShader::TextureBlend);
|
||||
ShaderManager::u_int(kShaderUniform::Tex, 0);
|
||||
ShaderManager::u_int(kShaderUniform::TexA, 1);
|
||||
#ifndef __IOS__
|
||||
ShaderManager::u_int(kShaderUniform::TexBG, 2);
|
||||
#endif
|
||||
ShaderManager::u_int(kShaderUniform::BlendMode, m_canvas->m_layers[layer_index].m_blend_mode);
|
||||
ShaderManager::u_float(kShaderUniform::Alpha, 1.f);
|
||||
ShaderManager::u_mat4(kShaderUniform::MVP, glm::ortho(-1, 1, -1, 1));
|
||||
@@ -280,16 +282,21 @@ void NodeCanvas::draw()
|
||||
m_blender_rtt.bindTexture();
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
m_blender_rtt.bindTexture();
|
||||
#ifndef __IOS__
|
||||
glActiveTexture(GL_TEXTURE2);
|
||||
m_blender_bg.bind();
|
||||
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0, m_blender_bg.size().x, m_blender_bg.size().y);
|
||||
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, 0, 0,
|
||||
m_blender_bg.size().x, m_blender_bg.size().y);
|
||||
#endif
|
||||
|
||||
m_face_plane.draw_fill();
|
||||
|
||||
#ifndef __IOS__
|
||||
glActiveTexture(GL_TEXTURE2);
|
||||
m_blender_bg.unbind();
|
||||
#endif
|
||||
glActiveTexture(GL_TEXTURE1);
|
||||
m_blender_bg.unbind();
|
||||
m_blender_rtt.unbindTexture();
|
||||
glActiveTexture(GL_TEXTURE0);
|
||||
m_blender_rtt.unbindTexture();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user