three.js 中的自定义抗锯齿设置
Custom antialiasing settings in three.js
我正在尝试找到一种方法来指定三个抗锯齿设置。js/WebGL 尝试改进结果。
问题是,使用完全相同的代码,如果我在 Retina 显示器上加载模型,抗锯齿效果非常好(即使我之后将它移到我的非 Retina 外接显示器),但它都是像素化的如果我先在非视网膜屏幕上加载它。
这是一张屏幕截图(均在 Chrome 上显示,均显示在视网膜显示屏上)。左侧加载在非视网膜上,右侧加载在视网膜上:https://i.imgur.com/krNavZU.png
我从中得到的是 three.js 在初始化抗锯齿时以某种方式使用了像素密度。有什么办法可以调整它以便我可以将它强制为更好的东西吗?
非常感谢您的帮助:)
旁注:郑重声明,Firefox 上的抗锯齿效果似乎也更好,有人知道为什么吗?
以防万一有人想做我正在尝试的同样类型的调整,我会回答我自己的问题。
根据 WaclawJasper 的评论,我在 Three.js 中找到了一些与我的问题相关的文档。来自 http://threejs.org/docs/#Reference/Renderers/WebGLRenderer:
.setPixelRatio ( value )
Sets device pixel ratio. This is usually used for HiDPI device to prevent blurring output canvas.
我在初始化时使用了 renderer.setPixelRatio( window.devicePixelRatio );
,这就是渲染取决于页面首次加载位置的原因 loaded.
关于抗锯齿,我现在在非视网膜屏幕上使用 renderer.setPixelRatio(2);
人为地提高像素密度。这会导致更有效的抗锯齿,但会增加计算量。
我正在尝试找到一种方法来指定三个抗锯齿设置。js/WebGL 尝试改进结果。
问题是,使用完全相同的代码,如果我在 Retina 显示器上加载模型,抗锯齿效果非常好(即使我之后将它移到我的非 Retina 外接显示器),但它都是像素化的如果我先在非视网膜屏幕上加载它。
这是一张屏幕截图(均在 Chrome 上显示,均显示在视网膜显示屏上)。左侧加载在非视网膜上,右侧加载在视网膜上:https://i.imgur.com/krNavZU.png
我从中得到的是 three.js 在初始化抗锯齿时以某种方式使用了像素密度。有什么办法可以调整它以便我可以将它强制为更好的东西吗?
非常感谢您的帮助:)
旁注:郑重声明,Firefox 上的抗锯齿效果似乎也更好,有人知道为什么吗?
以防万一有人想做我正在尝试的同样类型的调整,我会回答我自己的问题。
根据 WaclawJasper 的评论,我在 Three.js 中找到了一些与我的问题相关的文档。来自 http://threejs.org/docs/#Reference/Renderers/WebGLRenderer:
.setPixelRatio ( value )
Sets device pixel ratio. This is usually used for HiDPI device to prevent blurring output canvas.
我在初始化时使用了 renderer.setPixelRatio( window.devicePixelRatio );
,这就是渲染取决于页面首次加载位置的原因 loaded.
关于抗锯齿,我现在在非视网膜屏幕上使用 renderer.setPixelRatio(2);
人为地提高像素密度。这会导致更有效的抗锯齿,但会增加计算量。