Я пытался создать приложение multiviewport webgl.
Я получил все рендеринг довольно неплохо, используя viewport + scissor для каждого вида.Но теперь я хотел бы улучшить рендеринг и просто визуализировать вид, который обновлен, так что пропустите перерисовку.Я сделал небольшую демонстрацию, демонстрирующую эту идею: http://kile.stravaganza.org/lab/js/scissor/
Как я понимаю, ножницы - это скорее то, что они просто визуализируют текущую коробку ножниц и сохраняют остальную часть холста нетронутой.Но кажется, что он просто очищает весь холст в каждом кадре, независимо от того, что я пытался: (
Это код рендеринга (последний вид, который должен быть визуализирован только один раз, и сохранить его в каждом кадре):
function drawScene()
{
gl.clearColor(1.0, 0.0, 0.0, 0.0);
gl.scissor(0,0,200,200);
gl.viewport(0,0,200,200);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
drawFigures();
gl.clearColor(0.0, 1.0, 0.0, 0.0);
gl.scissor(200,0,200,200);
gl.viewport(200,0,200,200);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
drawFigures();
gl.clearColor(0.0, 0.0, 1.0, 0.0);
gl.scissor(200,200,200,200);
gl.viewport(200,200,200,200);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
drawFigures();
// Render just once
if (first)
{
gl.clearColor(1.0, 1.0, 0.0, 0.0);
gl.scissor(0,200,200,200);
gl.viewport(0,200,200,200);
gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
drawFigures();
first=false;
}
}
Есть идеи, как мне достичь этого эффекта?
Заранее большое спасибо