Получение работы буфера шаблонов OpenGL-ES

С буфером шаблонов в opengl-es для Android я просто пытаюсь кашировать часть рисунка экрана. Я думаю, что у меня есть настроенное право, но это не каширует неполученные с помощью шаблона части. Ниже извлечение кода для того, что я делаю.

gl.glEnable(GL10.GL_STENCIL_TEST);
gl.glClearStencil(0);
gl.glClear(GL10.GL_STENCIL_BUFFER_BIT);
gl.glColorMask(false, false, false, false);
gl.glDepthMask(false);
gl.glStencilFunc(GL10.GL_ALWAYS, 1, 1);
gl.glStencilOp(GL10.GL_REPLACE, GL10.GL_REPLACE, GL10.GL_REPLACE);

drawMask(); //I have confirmed this draws to the correct location by allowing colour to show. Trust that this draws the mask to the correct location.

gl.glColorMask(true, true, true, true);
gl.glDepthMask(true);
gl.glStencilFunc(GL10.GL_EQUAL, 1, 1);
gl.glStencilOp(GL10.GL_KEEP, GL10.GL_KEEP, GL10.GL_KEEP);

drawItems(); //Draw everything. Only items inside the masked area should be drawn. But everything is drawn with this code...

gl.glDisable(GL10.GL_STENCIL_TEST);

Кто-либо определяет что-то не так с этим? То, что это делает в основном ничья, которую поле для говорит, половина экрана (это работает, если у меня был цвет, включило), который устанавливает буфер шаблонов на 1 для той области. И в конце я тяну на целый экран. Я хочу, чтобы это потянуло к верхней половине только, но это тянет все.

Заранее спасибо.

7
задан Juergen 14 April 2015 в 21:44
поделиться