Three.js 抗锯齿,盒子几何还是很不清晰

标签 three.js antialiasing

我正在尝试使用 three.js 中的方框几何体创建一个简单的 3d 游戏。 一切正常,但无论是在移动浏览器 (safari) 上还是在我的 macbook 上的 chrome 上,我都没有在这些盒子上看到锋利的边缘。请参阅下面的屏幕截图。 Blurry Edges on Meshes

到目前为止我尝试了什么:将渲染器上的抗锯齿设置为 true(有帮助但仍然没有来自旋转立方体的直线),设置渲染器像素比率(触摸点击相交不起作用,并且仍然是像素化线条。)还尝试了 FXAA 着色器但结果并没有更好。 使用透视相机,Boxgeometry with Basic Material。

我的问题是,three.js 是否可以在这些立方体上形成锋利的边缘?尤其是当它们非常小的时候(比如在手机屏幕上 30 个大小相同)。

使用 three.js 版本 87、chrome 68、最新的移动 safari。

更新:这是我的渲染器设置:

renderer = new THREE.WebGLRenderer({
alpha: true,
antialias: true
   });
  renderer.setSize(window.innerWidth, window.innerHeight);
 renderer.setPixelRatio(window.devicePixelRatio); // doesnt do the trick and messes up the threex domevent touch inputs
  document.body.appendChild(renderer.domElement);


  canvas = document.getElementsByTagName('canvas')[0];
  window.onresize = resizeCanvas;
  resizeCanvas();

  function resizeCanvas() {
    canvas.style.width = '100%';
    canvas.style.height = '100%';

canvas.width = canvas.offsetWidth;
canvas.height = canvas.offsetHeight;

camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
  }

在我的CSS中我只有canvas { height: 100%;宽度:100%;

更新 2:演示链接在这里 https://jsfiddle.net/roxanfc4/11/

最佳答案

这个片段不知何故起到了作用,现在边缘明显更柔和了:

renderer.setPixelRatio(window.devicePixelRatio * 1.5);

关于Three.js 抗锯齿,盒子几何还是很不清晰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52075681/

相关文章:

javascript - three.js - 使用 CanvasRenderer 提高性能 (FPS)

三.js 子级忽略父对象的缩放

javascript - 如何在 ThreeJS 中检测立方体网格与浏览器边界的碰撞

css - 有没有人注意到抗锯齿效果不佳?

php - 为什么这个透明的 PNG 在使用 GD 组合时会产生边框?

Java 应用程序 - AWT 渲染导致抗锯齿打开时文本损坏

javascript - 三个js销毁渲染器

javascript - Three.js MeshPhong Material 纹理

internet-explorer - CSS3 过渡、jQuery 和 Google 字体的字体渲染不佳的问题

iphone - iPhone OpenGLES 抗锯齿