Как можно изменить размер рендера текстуры (после изменения размера окна)? - PullRequest
0 голосов
/ 26 мая 2018

Я сделал это для текстуры, но она не работает, та же самая текстура растягивается на большей площади, вызывая артефакты на лестнице (я обновил камеры, плоскость, квад, рендерер)

У меня естьвидел это решение для webgl, но я не имею ни малейшего понятия, как это сделать в three.js - я попытался переопределить тот же var текстуры с новой текстурой, но это привело к зависанию webgl. Ширина веб-обновления и высота цели рендеринга на лету

var Xtexture = new THREE.WebGLRenderTarget( w, h, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat } );


window.addEventListener('resize', onResize, false);

function onResize() {

    w = window.innerWidth;
    h = window.innerHeight;

    Xtexture.width = w;
    Xtexture.height = h;
};

1 Ответ

0 голосов
/ 26 мая 2018

Размер THREE.WebGLRenderTarget можно установить и изменить с помощью setSize :

var Xtexture = new THREE.WebGLRenderTarget( w, h, { minFilter: THREE.LinearFilter, magFilter: THREE.LinearFilter, format: THREE.RGBFormat } );

function onResize() {

    w = window.innerWidth;
    h = window.innerHeight;

    Xtexture.setSize(w, h); 
};    
...