Мне интересно знать и понимать, как 2D-графика и 3D-поверхности сочетаются на Android-Froyo 2.2 или на любой вкус в целом из 2-х различных приложений, например, как поверхности поверхностей Live Wall paper & Launcher комбинируются & отображается. 2D в том смысле, что запускающее приложение, кажется, создает поверхность и рисует на холсте, а последний передает буферы нарисованного холста на поверхность flinger, которая, в свою очередь, записывает их в виде текстур, используя openGLES glTeximage для GPU и бумаги Live Wall, кажется, использует скрипт рендеринга libRS для выполнения вызовов openGLES.
Вопрос заключается в том, как эти две поверхности будут совмещены. Поверхностный флингер объединяет их в 2 отдельных слоя, любое описание того, как драйвер openGLES сделает это, также будет полезно.
Большое спасибо, но я скажу, что снова действие является одиночным, и в этом случае обе верхние и нижние поверхности будут представлены поверхности flinger, и они будут объединены с использованием вызовов openglES в Surface flinger.
GLenum src = mPremultipliedAlpha ? GL_ONE : GL_SRC_ALPHA;
glEnable(GL_BLEND);
glBlendFunc(src, GL_ONE_MINUS_SRC_ALPHA);
glColor4x(0x10000, 0x10000, 0x10000, 0x10000);
Я пытаюсь понять случай, когда есть 2 разных действия, одно из которых использует renderscript / GL10 (я скажу, что это 3D), а другое - рисование, используя вид поверхности на холсте (я скажу, что это 2D). или пользовательский интерфейс)