小编eoa*_*nes的帖子

闪烁的飞机

我有一个带有纹理的大型2D平面的应用程序,但我遇到了一些闪烁的问题.

这里可以看到闪烁的问题(飞机没有纹理):示例代码

这个深度缓冲区(z缓冲区)是精度问题还是别的?

解决方案是缩小一切,而不是允许大型飞机/物体?什么是最佳做法?

我知道z近处和远处也会影响精度,因此将z设置为接近1000会修复此示例中的闪烁.

代码:

/*
 * Scale = 1, no flickering. Scale = 1000, flickering. 
 */
  var scale = 1000;

  var scene = new THREE.Scene();

  var camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1000, 1000000);
  camera.position.x = 0;
  camera.position.y = 0;
  camera.position.z = 100 * scale;
  var renderer = new THREE.WebGLRenderer({
      antialias: false
  });
  renderer.setSize(window.innerWidth, window.innerHeight);
  document.body.appendChild(renderer.domElement);

  var light = new THREE.AmbientLight(0xFFFFFF);
  scene.add(light);

  var material = new THREE.MeshBasicMaterial({
      transparent: false,
      side: THREE.DoubleSide,
      fog: false,
      color: 0xFFFF00,
      opacity: …
Run Code Online (Sandbox Code Playgroud)

webgl three.js

13
推荐指数
1
解决办法
5794
查看次数

标签 统计

three.js ×1

webgl ×1