Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webgl 将纹理_2D与Three.js一起使用_Webgl_Three.js - Fatal编程技术网

Webgl 将纹理_2D与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

有没有办法在Three.js中使用纹理_2D作为纹理

我有非常高分辨率的图像,我正试图在Three.js imageviewer中使用这些图像。性能现在是个问题,所以我尝试将图像转换为POT,看看它是否有什么不同。我正在使用此处建议的脚本:

但我不知道如何将返回的纹理对象与THREE.texture一起使用。有什么想法吗

编辑1: 我仔细查看了Three.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 ) );

谢谢但我在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 ) );