Я хочу нарисовать текстуру и нарисовать другую с прозрачным фоном сверху. Таким образом, прозрачные части показывают первую текстуру.
Я называю gl.clear
один раз, а затем gl.drawElements
для каждой текстуры при рендеринге. Но вывод, прозрачная текстура с прозрачными частями черного цвета, который является чистым цветом. Как будто первая текстура никогда не рисовалась, а вторая текстура рисуется только с прозрачным фоном. Как это исправить?
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
gl.enable(gl.BLEND);
gl.enable(gl.DEPTH_TEST);
gl.clear()
for each texture:
gl.drawElements();
Другая проблема рендеринга для текстур A и BI вызывает gl.drawElements для текстуры A, а затем B. Но A выходит на верх B при выводе.
Так что проблема была в gl.enable (DEPTH_TEST);
Я удалил ее, и теперь она работает нормально. Интересно почему.