MaskShader::Program::Program(RenderContext& rc, const CU_VEC<ur::VertexAttrib>& va_list, const std::shared_ptr<RenderBuffer>& ib) : ShaderProgram(rc, MAX_COMMBINE * 4) { Init(va_list, ib); rc.GetSubMVP2().Register(GetMVP()); m_shader->SetDrawMode(ur::DRAW_TRIANGLES); int tex0 = m_shader->AddUniform("u_texture0", ur::UNIFORM_INT1); if (tex0 >= 0) { float sample = 0; m_shader->SetUniform(tex0, ur::UNIFORM_INT1, &sample); } int tex1 = m_shader->AddUniform("u_texture1", ur::UNIFORM_INT1); if (tex1 >= 0) { float sample = 1; m_shader->SetUniform(tex1, ur::UNIFORM_INT1, &sample); } }