1. 程式人生 > 其它 >第二天:微信小遊戲 threejs 抗鋸齒

第二天:微信小遊戲 threejs 抗鋸齒

技術標籤:微信小遊戲javascript

學習threejs的第二天:SMAA 的使用

//SMAA涉及檔案《
import {
  EffectComposer
} from './libs/build/SMAA/EffectComposer.js';
import {
  RenderPass
} from './libs/build/SMAA/RenderPass.js';
import {
  SMAAPass
} from './libs/build/SMAA/SMAAPass.js';
//》SMAA涉及檔案

要引入這三個檔案。記得修改每個檔案的引入路徑,包括js檔案裡面的。

我在選擇抗鋸齒時,覺得還是smaa比較好。以下是各種抗鋸齒方式:

1、MSAA還原度很高,但是配置要求最高。
2、SMAA是性耗比最佳的模式,用適量的資源得到比較滿意的抗鋸齒效果。
3、FXAA耗費最低,低配置開這種抗鋸齒不卡,實際上是一種粗糙的模糊化處理。

附上例子程式碼:

composer = new EffectComposer( renderer );
composer.addPass( new RenderPass( scene, camera ) );
const pass = new SMAAPass( window.innerWidth * renderer.getPixelRatio(), window.innerHeight * renderer.
getPixelRatio() ); composer.addPass( pass );

記得在迴圈中讓EffectComposer接管渲染。

loop() {
    requestAnimationFrame(this.loop.bind(this), canvas);
    this.composer.render(this.scene, this.camera);//採用SMAA時,由EffectComposer接管渲染
 }

現在效能方面還沒測試,不知道各種機型不同會不會有影響。