如何调整纹理渲染目标的大小(在窗口调整大小后)?

时间:2018-05-26 11:50:36

标签: three.js onresize rendertarget

我为纹理做了这个,但它不起作用,在更大的区域上拉伸相同的纹理导致楼梯瑕疵(我更新了相机,平面,四边形,渲染器)

我已经看过这个webgl解决方案,但我不知道如何在three.js中执行此操作 - 我尝试使用新纹理重新定义相同的纹理var但是它导致webgl冻结。 webl-updating width and height of render target on the fly

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 :(得分:1)

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); 
};