Webgl 将纹理_2D与Three.js一起使用
有没有办法在Three.js中使用纹理_2D作为纹理 我有非常高分辨率的图像,我正试图在Three.js imageviewer中使用这些图像。性能现在是个问题,所以我尝试将图像转换为POT,看看它是否有什么不同。我正在使用此处建议的脚本: 但我不知道如何将返回的纹理对象与THREE.texture一起使用。有什么想法吗 编辑1: 我仔细查看了Three.js代码,发现它隐式地执行了一些类似于我试图实现的功能:Webgl 将纹理_2D与Three.js一起使用,webgl,three.js,Webgl,Three.js,有没有办法在Three.js中使用纹理_2D作为纹理 我有非常高分辨率的图像,我正试图在Three.js imageviewer中使用这些图像。性能现在是个问题,所以我尝试将图像转换为POT,看看它是否有什么不同。我正在使用此处建议的脚本: 但我不知道如何将返回的纹理对象与THREE.texture一起使用。有什么想法吗 编辑1: 我仔细查看了Three.js代码,发现它隐式地执行了一些类似于我试图实现的功能: 有人能确认吗?类似的方法应该可以: function createTextureF
有人能确认吗?类似的方法应该可以:
function createTextureFromImage( image ) {
var canvas = document.createElement( "canvas" );
canvas.width = nextHighestPowerOfTwo( image.width );
canvas.height = nextHighestPowerOfTwo( image.height );
var ctx = canvas2.getContext( "2d" );
ctx.drawImage( image, 0, 0, image.width, image.height );
return canvas;
}
var texture = new THREE.Texture( createTextureFromImage( image ) );
谢谢但我在Loader.js中找到了代码,它正是这样做的。因此,再次实现它看起来不会有任何性能优势。所以我放弃了这个方法。但你的建议是有道理的。
function createTextureFromImage( image ) {
var canvas = document.createElement( "canvas" );
canvas.width = nextHighestPowerOfTwo( image.width );
canvas.height = nextHighestPowerOfTwo( image.height );
var ctx = canvas2.getContext( "2d" );
ctx.drawImage( image, 0, 0, image.width, image.height );
return canvas;
}
var texture = new THREE.Texture( createTextureFromImage( image ) );