2016-11-08 2 views
0

Я новичок в WebGL.Как четверть холста webGL скрещены?

Я могу сделать холст, и я могу нарисовать куб на холсте. enter image description here

Это пример рисования куба и тетраэдра на одном холсте. Потратьте этот путь, я хочу сделать это как под изображением. Моя первая идея - разделить один холст, а вторая - сделать четыре холста. Каков лучший способ? enter image description here

+2

Это все зависит от вас. Я бы, вероятно, просто использовал один холст и [изменить видовое окно] (https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/viewport) для каждого разного угла камеры. Многочисленные полотна будут работать отлично. –

ответ

1

можно разделить полотно с помощью ножниц и окна просмотра команд

// turn on the scissor test 
gl.enable(gl.SCISSOR_TEST); 

var width = gl.canvas.width; 
var height = gl.canvas.height; 

for (var y = 0; y < 2; ++y) { 
    for (var x = 0; x < 2; ++x) { 

    // set both the scissor (which clips pixels) 
    // and the viewport (which sets the clip space -> pixel space conversion); 
    gl.scissor(x * width/2, y * height/2, width/2, height/2); 
    gl.viewport(x * width/2, y * height/2, width/2, height/2); 

    ... 
    draw your scene here 
    ... 
    } 
} 
Смежные вопросы