У меня проблема с изменением размера холста и синхронизацией gl.viewport
.
Допустим, я начинаю с холста 300x300 холста и инициализирую gl.viewport
при тех же размерах (gl.vieport(0, 0, 300, 300)
)..
После этого в консоли браузера делаю тесты:
Я меняю размер своего холста , используя jquery, вызывая что-то вроде$("#scene").width(200).height(200)
После этого я вызываю функцию resizeWindow:
function resizeWindow(width, height){
var ww = width === undefined? w.gl.viewportWidth : width;
var h = height === undefined? w.gl.viewportHeight : height;
h = h <= 0? 1 : h;
w.gl.viewport(0, 0, ww, h);
mat4.identity(projectionMatrix);
mat4.perspective(45, ww / h, 1, 1000.0, projectionMatrix);
mat4.identity(modelViewMatrix);
}
К сожалению, мой gl.viewport
после этого звонка занимает только часть моего холста.
Может ли кто-нибудь сказать мне, что происходит не так?