コンテンツにスキップ

SMAAEffectDesc

SMAAEffectDescクラスは、SMAA(Subpixel Morphological Anti-Aliasing)アンチエイリアシングエフェクトを適用するDescriptorです。FXAAよりも高品質なアンチエイリアシングを提供します。

Type: boolean | undefined

Description: エフェクトの表示/非表示を制御します。

Default: true

Type: "low" | "medium" | "high" | "ultra" | undefined

Description: SMAAの品質プリセットを指定します。

Default: "medium"

Example:

{
smaa: {
quality: "high",
}
}

Type: "color" | "depth" | "luma" | undefined

Description: エッジ検出モードを指定します。

Default: "color"

Example:

{
smaa: {
edgeDetectionMode: "luma",
}
}

デフォルトエフェクトでSMAAを使用

Section titled “デフォルトエフェクトでSMAAを使用”
import ThreeView from "@navaramap/three";
import { DefaultPlugin } from "@navaramap/three-default-plugin";
const view = new ThreeView();
const plugin = new DefaultPlugin();
view.addPlugin(plugin);
await view.init();
// デフォルトのフォトリアルオブジェクトを追加(SMAAが含まれる)
const defaultLayers = plugin.addDefaultPhotorealScene();
// SMAAを有効化して品質を設定
defaultLayers.smaa.update({
visible: true,
smaa: {
quality: "high",
edgeDetectionMode: "color",
},
});
import ThreeView from "@navaramap/three";
import { SMAAEffectDesc } from "@navaramap/three-default-descs";
const view = new ThreeView();
await view.init();
// SMAAエフェクトを追加
view.addEffect<SMAAEffectDesc>({
smaa: {
quality: "ultra",
edgeDetectionMode: "luma",
},
});

SMAAの品質とエッジ検出モードの動的変更

Section titled “SMAAの品質とエッジ検出モードの動的変更”
import ThreeView from "@navaramap/three";
import { FXAAEffectDesc } from "@navaramap/three-default-descs";
import { DefaultPlugin } from "@navaramap/three-default-plugin";
const view = new ThreeView();
const plugin = new DefaultPlugin();
view.addPlugin(plugin);
await view.init();
const defaultLayers = plugin.addDefaultPhotorealScene();
// 品質をmediumに変更
defaultLayers.smaa.update({
smaa: {
quality: "medium",
},
});
// エッジ検出モードをdepthに変更
defaultLayers.smaa.update({
smaa: {
edgeDetectionMode: "depth",
},
});
// SMAAを無効にしてFXAAに切り替える
defaultLayers.smaa.update({ visible: false });
view.addEffect<FXAAEffectDesc>({
fxaa: {},
});

SMAAEffectDescはレンダリングパイプラインの最後の段階で適用されます。FXAAよりも高品質なアンチエイリアシングが必要な場合に使用します。品質プリセットはlowmediumhighultraから選択できます。エッジ検出モードはcolor(最高品質)、luma(バランス)、depth(最速)から選択できます。