第三:使用worldmap.svg作为球体上的材质,但像素太多,如何减少它们?
我使用的是svg,因此我可以为单个国家/地区着色。 我知道WebGL不支持svg,这就是为什么它被像素化了,但是边界线被像素化了太多,你知道我怎样才能让它看起来更好吗 3.WebGLRenderer:纹理大小已从2000x1001调整为1024x512? 图像被裁剪,这是问题吗第三:使用worldmap.svg作为球体上的材质,但像素太多,如何减少它们?,svg,three.js,3d,pixel,Svg,Three.js,3d,Pixel,我使用的是svg,因此我可以为单个国家/地区着色。 我知道WebGL不支持svg,这就是为什么它被像素化了,但是边界线被像素化了太多,你知道我怎样才能让它看起来更好吗 3.WebGLRenderer:纹理大小已从2000x1001调整为1024x512? 图像被裁剪,这是问题吗 要避免调整大小,请尝试将纹理的minFilter属性设置为THREE.LinearFilter。这将显著提高您的最终纹理分辨率。或者,您可以尝试在默认情况下将纹理更改为POT power 2。这意味着使用像2048x10
要避免调整大小,请尝试将纹理的minFilter属性设置为THREE.LinearFilter。这将显著提高您的最终纹理分辨率。或者,您可以尝试在默认情况下将纹理更改为POT power 2。这意味着使用像2048x1024这样的分辨率 three.js R112您可能会发现它很有用。
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
let scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
var geometry = new THREE.SphereGeometry( 5,32,32 );
let texture = new THREE.TextureLoader().load("/img/world-background.5375a735.svg");
var material = new THREE.MeshBasicMaterial( { map: texture, color: "white"} );
var sphere = new THREE.Mesh( geometry, material );
sphere.rotation.y = 4.5;
sphere.rotation.x = 0.5;
scene.add( sphere );