第二天:微信小遊戲 threejs 抗鋸齒
阿新 • • 發佈:2020-12-28
技術標籤:微信小遊戲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接管渲染
}
現在效能方面還沒測試,不知道各種機型不同會不會有影響。