[{"data":1,"prerenderedAt":826},["ShallowReactive",2],{"navigation":3,"/api/pmndrs/smaa":181,"/api/pmndrs/smaa-surround":821},[4,14,171],{"title":5,"path":6,"stem":7,"children":8},"Introduction","/getting-started","1.getting-started/1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","/getting-started/installation","1.getting-started/2.installation",{"title":15,"path":16,"stem":17,"children":18},"Api","/api","2.api",[19,22,144],{"title":20,"path":16,"stem":21},"API Reference","2.api/index",{"title":23,"path":24,"stem":25,"children":26},"Pmndrs Effects","/api/pmndrs","2.api/1.pmndrs/index",[27,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140],{"title":23,"path":24,"stem":25},{"title":29,"path":30,"stem":31},"ASCII","/api/pmndrs/ascii","2.api/1.pmndrs/ascii",{"title":33,"path":34,"stem":35},"Barrel Blur","/api/pmndrs/barrel-blur","2.api/1.pmndrs/barrel-blur",{"title":37,"path":38,"stem":39},"Bloom","/api/pmndrs/bloom","2.api/1.pmndrs/bloom",{"title":41,"path":42,"stem":43},"Brightness & Contrast","/api/pmndrs/brightness-contrast","2.api/1.pmndrs/brightness-contrast",{"title":45,"path":46,"stem":47},"Chromatic Aberration","/api/pmndrs/chromatic-aberration","2.api/1.pmndrs/chromatic-aberration",{"title":49,"path":50,"stem":51},"Color Average","/api/pmndrs/color-average","2.api/1.pmndrs/color-average",{"title":53,"path":54,"stem":55},"Color Depth","/api/pmndrs/color-depth","2.api/1.pmndrs/color-depth",{"title":57,"path":58,"stem":59},"Depth of Field","/api/pmndrs/depth-of-field","2.api/1.pmndrs/depth-of-field",{"title":61,"path":62,"stem":63},"Dot Screen","/api/pmndrs/dot-screen","2.api/1.pmndrs/dot-screen",{"title":65,"path":66,"stem":67},"Fish Eye","/api/pmndrs/fish-eye","2.api/1.pmndrs/fish-eye",{"title":69,"path":70,"stem":71},"FXAA","/api/pmndrs/fxaa","2.api/1.pmndrs/fxaa",{"title":73,"path":74,"stem":75},"Glitch","/api/pmndrs/glitch","2.api/1.pmndrs/glitch",{"title":77,"path":78,"stem":79},"God Rays","/api/pmndrs/god-rays","2.api/1.pmndrs/god-rays",{"title":81,"path":82,"stem":83},"Grid","/api/pmndrs/grid","2.api/1.pmndrs/grid",{"title":85,"path":86,"stem":87},"Hue & Saturation","/api/pmndrs/hue-saturation","2.api/1.pmndrs/hue-saturation",{"title":89,"path":90,"stem":91},"Kuwahara","/api/pmndrs/kuwahara","2.api/1.pmndrs/kuwahara",{"title":93,"path":94,"stem":95},"Lens Distortion","/api/pmndrs/lens-distortion","2.api/1.pmndrs/lens-distortion",{"title":97,"path":98,"stem":99},"Linocut","/api/pmndrs/linocut","2.api/1.pmndrs/linocut",{"title":101,"path":102,"stem":103},"Noise","/api/pmndrs/noise","2.api/1.pmndrs/noise",{"title":105,"path":106,"stem":107},"Outline","/api/pmndrs/outline","2.api/1.pmndrs/outline",{"title":109,"path":110,"stem":111},"Pixelation","/api/pmndrs/pixelation","2.api/1.pmndrs/pixelation",{"title":113,"path":114,"stem":115},"Scanline","/api/pmndrs/scanline","2.api/1.pmndrs/scanline",{"title":117,"path":118,"stem":119},"Sepia","/api/pmndrs/sepia","2.api/1.pmndrs/sepia",{"title":121,"path":122,"stem":123},"Shock Wave","/api/pmndrs/shock-wave","2.api/1.pmndrs/shock-wave",{"title":125,"path":126,"stem":127},"SMAA","/api/pmndrs/smaa","2.api/1.pmndrs/smaa",{"title":129,"path":130,"stem":131},"Texture","/api/pmndrs/texture","2.api/1.pmndrs/texture",{"title":133,"path":134,"stem":135},"Tilt Shift","/api/pmndrs/tilt-shift","2.api/1.pmndrs/tilt-shift",{"title":137,"path":138,"stem":139},"ToneMapping","/api/pmndrs/tone-mapping","2.api/1.pmndrs/tone-mapping",{"title":141,"path":142,"stem":143},"Vignette","/api/pmndrs/vignette","2.api/1.pmndrs/vignette",{"title":145,"path":146,"stem":147,"children":148},"Three Native Effects","/api/three","2.api/2.three/index",[149,150,153,157,161,164,167],{"title":145,"path":146,"stem":147},{"title":73,"path":151,"stem":152},"/api/three/glitch","2.api/2.three/glitch",{"title":154,"path":155,"stem":156},"Halftone","/api/three/halftone","2.api/2.three/halftone",{"title":158,"path":159,"stem":160},"Output","/api/three/output","2.api/2.three/output",{"title":109,"path":162,"stem":163},"/api/three/pixelation","2.api/2.three/pixelation",{"title":125,"path":165,"stem":166},"/api/three/smaa","2.api/2.three/smaa",{"title":168,"path":169,"stem":170},"Unreal Bloom","/api/three/unreal-bloom","2.api/2.three/unreal-bloom",{"title":172,"path":173,"stem":174,"children":175},"Advanced","/advanced","3.advanced/index",[176,177],{"title":172,"path":173,"stem":174},{"title":178,"path":179,"stem":180},"You might not need post-processing","/advanced/you-might-not-need-post-processing","3.advanced/you-might-not-need-post-processing",{"id":182,"title":125,"body":183,"description":815,"extension":816,"links":817,"meta":818,"navigation":372,"path":126,"seo":819,"stem":127,"__hash__":820},"docs/2.api/1.pmndrs/smaa.md",{"type":184,"value":185,"toc":810},"minimark",[186,192,215,233,238,244,265,639,643,795,799,806],[187,188,189],"docs-demo",{},[190,191],"pmndrs-smaa",{},[193,194,195,196,200,201,210,211,214],"p",{},"The ",[197,198,199],"code",{},"SMAAEffect"," effect is part of the ",[202,203,207],"a",{"href":204,"rel":205},"https://pmndrs.github.io/postprocessing/public/docs/class/src/effects/SMAAEffect.js~SMAAEffect.html",[206],"nofollow",[197,208,209],{},"postprocessing"," package. ",[212,213,125],"strong",{}," (Subpixel Morphological Antialiasing) is a post-processing antialiasing technique that uses look-up tables to detect edges accurately, preserving texture details while minimizing false positives.",[216,217,218],"note",{},[193,219,220,222,223,225,226,228,229,232],{},[212,221,125],{}," generally provides superior visual quality compared to ",[202,224,69],{"href":70},", though it is slightly less performant. Note that ",[212,227,125],{}," is distinct from ",[212,230,231],{},"MSAA",".",[234,235,237],"h2",{"id":236},"usage","Usage",[193,239,195,240,243],{},[197,241,242],{},"\u003CSMAAPmndrs>"," component is easy to use and provides customizable options to suit different visual styles.",[216,245,246],{},[193,247,248,249,252,253,260,261,264],{},"When using the ",[197,250,251],{},"\u003CEffectComposerPmndrs>"," pipeline, enabling native antialiasing with the ",[202,254,257],{"href":255,"rel":256},"https://docs.tresjs.org/api/tres-canvas.html#props",[206],[197,258,259],{},"antialias"," prop on ",[197,262,263],{},"\u003CTresCanvas>"," is unnecessary.",[266,267,272],"pre",{"className":268,"code":269,"language":270,"meta":271,"style":271},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { EffectComposerPmndrs, SMAAPmndrs } from '@tresjs/post-processing'\nimport type { SMAAPreset } from 'postprocessing'\n\nconst gl = {\n  toneMapping: NoToneMapping,\n  antialias: false,\n}\n// It is not required to add `antialias: false` for\n// the \u003CTresCanvas> context, as it is automatically\n// disabled when using `\u003CEffectComposerPmndrs>`.\n\nconst effectProps = {\n  preset: SMAAPreset.HIGH,\n}\n\u003C/script>\n\n\u003Ctemplate>\n  \u003CTresCanvas v-bind=\"gl\">\n    \u003CTresPerspectiveCamera />\n\n    \u003C!-- Your scene -->\n\n    \u003CSuspense>\n      \u003CEffectComposerPmndrs>\n        \u003CSMAAPmndrs v-bind=\"effectProps\" />\n      \u003C/EffectComposerPmndrs>\n    \u003C/Suspense>\n  \u003C/TresCanvas>\n\u003C/template>\n","vue","",[197,273,274,309,344,367,374,388,403,417,423,430,436,442,447,459,476,481,491,496,506,529,541,546,552,557,567,578,600,610,620,630],{"__ignoreMap":271},[275,276,279,283,287,291,294,297,300,304,306],"span",{"class":277,"line":278},"line",1,[275,280,282],{"class":281},"sMK4o","\u003C",[275,284,286],{"class":285},"swJcz","script",[275,288,290],{"class":289},"spNyl"," setup",[275,292,293],{"class":289}," lang",[275,295,296],{"class":281},"=",[275,298,299],{"class":281},"\"",[275,301,303],{"class":302},"sfazB","ts",[275,305,299],{"class":281},[275,307,308],{"class":281},">\n",[275,310,312,316,319,323,326,329,332,335,338,341],{"class":277,"line":311},2,[275,313,315],{"class":314},"s7zQu","import",[275,317,318],{"class":281}," {",[275,320,322],{"class":321},"sTEyZ"," EffectComposerPmndrs",[275,324,325],{"class":281},",",[275,327,328],{"class":321}," SMAAPmndrs",[275,330,331],{"class":281}," }",[275,333,334],{"class":314}," from",[275,336,337],{"class":281}," '",[275,339,340],{"class":302},"@tresjs/post-processing",[275,342,343],{"class":281},"'\n",[275,345,347,349,352,354,357,359,361,363,365],{"class":277,"line":346},3,[275,348,315],{"class":314},[275,350,351],{"class":314}," type",[275,353,318],{"class":281},[275,355,356],{"class":321}," SMAAPreset",[275,358,331],{"class":281},[275,360,334],{"class":314},[275,362,337],{"class":281},[275,364,209],{"class":302},[275,366,343],{"class":281},[275,368,370],{"class":277,"line":369},4,[275,371,373],{"emptyLinePlaceholder":372},true,"\n",[275,375,377,380,383,385],{"class":277,"line":376},5,[275,378,379],{"class":289},"const",[275,381,382],{"class":321}," gl ",[275,384,296],{"class":281},[275,386,387],{"class":281}," {\n",[275,389,391,394,397,400],{"class":277,"line":390},6,[275,392,393],{"class":285},"  toneMapping",[275,395,396],{"class":281},":",[275,398,399],{"class":321}," NoToneMapping",[275,401,402],{"class":281},",\n",[275,404,406,409,411,415],{"class":277,"line":405},7,[275,407,408],{"class":285},"  antialias",[275,410,396],{"class":281},[275,412,414],{"class":413},"sfNiH"," false",[275,416,402],{"class":281},[275,418,420],{"class":277,"line":419},8,[275,421,422],{"class":281},"}\n",[275,424,426],{"class":277,"line":425},9,[275,427,429],{"class":428},"sHwdD","// It is not required to add `antialias: false` for\n",[275,431,433],{"class":277,"line":432},10,[275,434,435],{"class":428},"// the \u003CTresCanvas> context, as it is automatically\n",[275,437,439],{"class":277,"line":438},11,[275,440,441],{"class":428},"// disabled when using `\u003CEffectComposerPmndrs>`.\n",[275,443,445],{"class":277,"line":444},12,[275,446,373],{"emptyLinePlaceholder":372},[275,448,450,452,455,457],{"class":277,"line":449},13,[275,451,379],{"class":289},[275,453,454],{"class":321}," effectProps ",[275,456,296],{"class":281},[275,458,387],{"class":281},[275,460,462,465,467,469,471,474],{"class":277,"line":461},14,[275,463,464],{"class":285},"  preset",[275,466,396],{"class":281},[275,468,356],{"class":321},[275,470,232],{"class":281},[275,472,473],{"class":321},"HIGH",[275,475,402],{"class":281},[275,477,479],{"class":277,"line":478},15,[275,480,422],{"class":281},[275,482,484,487,489],{"class":277,"line":483},16,[275,485,486],{"class":281},"\u003C/",[275,488,286],{"class":285},[275,490,308],{"class":281},[275,492,494],{"class":277,"line":493},17,[275,495,373],{"emptyLinePlaceholder":372},[275,497,499,501,504],{"class":277,"line":498},18,[275,500,282],{"class":281},[275,502,503],{"class":285},"template",[275,505,308],{"class":281},[275,507,509,512,515,518,520,522,525,527],{"class":277,"line":508},19,[275,510,511],{"class":281},"  \u003C",[275,513,514],{"class":285},"TresCanvas",[275,516,517],{"class":289}," v-bind",[275,519,296],{"class":281},[275,521,299],{"class":281},[275,523,524],{"class":321},"gl",[275,526,299],{"class":281},[275,528,308],{"class":281},[275,530,532,535,538],{"class":277,"line":531},20,[275,533,534],{"class":281},"    \u003C",[275,536,537],{"class":285},"TresPerspectiveCamera",[275,539,540],{"class":281}," />\n",[275,542,544],{"class":277,"line":543},21,[275,545,373],{"emptyLinePlaceholder":372},[275,547,549],{"class":277,"line":548},22,[275,550,551],{"class":428},"    \u003C!-- Your scene -->\n",[275,553,555],{"class":277,"line":554},23,[275,556,373],{"emptyLinePlaceholder":372},[275,558,560,562,565],{"class":277,"line":559},24,[275,561,534],{"class":281},[275,563,564],{"class":285},"Suspense",[275,566,308],{"class":281},[275,568,570,573,576],{"class":277,"line":569},25,[275,571,572],{"class":281},"      \u003C",[275,574,575],{"class":285},"EffectComposerPmndrs",[275,577,308],{"class":281},[275,579,581,584,587,589,591,593,596,598],{"class":277,"line":580},26,[275,582,583],{"class":281},"        \u003C",[275,585,586],{"class":285},"SMAAPmndrs",[275,588,517],{"class":289},[275,590,296],{"class":281},[275,592,299],{"class":281},[275,594,595],{"class":321},"effectProps",[275,597,299],{"class":281},[275,599,540],{"class":281},[275,601,603,606,608],{"class":277,"line":602},27,[275,604,605],{"class":281},"      \u003C/",[275,607,575],{"class":285},[275,609,308],{"class":281},[275,611,613,616,618],{"class":277,"line":612},28,[275,614,615],{"class":281},"    \u003C/",[275,617,564],{"class":285},[275,619,308],{"class":281},[275,621,623,626,628],{"class":277,"line":622},29,[275,624,625],{"class":281},"  \u003C/",[275,627,514],{"class":285},[275,629,308],{"class":281},[275,631,633,635,637],{"class":277,"line":632},30,[275,634,486],{"class":281},[275,636,503],{"class":285},[275,638,308],{"class":281},[234,640,642],{"id":641},"props","Props",[644,645,646,662],"table",{},[647,648,649],"thead",{},[650,651,652,656,659],"tr",{},[653,654,655],"th",{},"Prop",[653,657,658],{},"Description",[653,660,661],{},"Default",[663,664,665,689,704,726,748,770],"tbody",{},[650,666,667,673,684],{},[668,669,670],"td",{},[197,671,672],{},"blendFunction",[668,674,675,676,683],{},"Defines how the effect blends with the original scene. See the ",[202,677,680],{"href":678,"rel":679},"https://pmndrs.github.io/postprocessing/public/docs/variable/index.html#static-variable-BlendFunction",[206],[197,681,682],{},"BlendFunction"," options.",[668,685,686],{},[197,687,688],{},"BlendFunction.SRC",[650,690,691,696,699],{},[668,692,693],{},[197,694,695],{},"opacity",[668,697,698],{},"The opacity of the effect.",[668,700,701],{},[197,702,703],{},"1",[650,705,706,711,721],{},[668,707,708],{},[197,709,710],{},"preset",[668,712,713,714,683],{},"Define the quality and performance trade-offs. See the ",[202,715,718],{"href":716,"rel":717},"https://pmndrs.github.io/postprocessing/public/docs/variable/index.html#static-variable-SMAAPreset",[206],[197,719,720],{},"SMAAPreset",[668,722,723],{},[197,724,725],{},"SMAAPreset.MEDIUM",[650,727,728,733,743],{},[668,729,730],{},[197,731,732],{},"edgeDetectionMode",[668,734,735,736,683],{},"Define the edge detection modes. See the ",[202,737,740],{"href":738,"rel":739},"https://pmndrs.github.io/postprocessing/public/docs/variable/index.html#static-variable-EdgeDetectionMode",[206],[197,741,742],{},"EdgeDetectionMode",[668,744,745],{},[197,746,747],{},"EdgeDetectionMode.COLOR",[650,749,750,755,765],{},[668,751,752],{},[197,753,754],{},"predicationMode",[668,756,757,758,683],{},"Define the predication modes. See the ",[202,759,762],{"href":760,"rel":761},"https://pmndrs.github.io/postprocessing/public/docs/variable/index.html#static-variable-PredicationMode",[206],[197,763,764],{},"PredicationMode",[668,766,767],{},[197,768,769],{},"PredicationMode.DISABLED",[650,771,772,777,791],{},[668,773,774],{},[197,775,776],{},"debug",[668,778,779,780,783,784,786,787,790],{},"Define the debug mode. Options: ",[197,781,782],{},"0"," (OFF), ",[197,785,703],{}," (EDGES), ",[197,788,789],{},"2"," (WEIGHTS).",[668,792,793],{},[197,794,782],{},[234,796,798],{"id":797},"further-reading","Further Reading",[193,800,801,802,232],{},"For more details, see the ",[202,803,805],{"href":204,"rel":804},[206],"SMAAEffect documentation",[807,808,809],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":271,"searchDepth":278,"depth":311,"links":811},[812,813,814],{"id":236,"depth":311,"text":237},{"id":641,"depth":311,"text":642},{"id":797,"depth":311,"text":798},"Subpixel Morphological Antialiasing — a post-processing antialiasing technique using look-up tables for accurate edge detection.","md",null,{},{"title":125,"description":815},"P4dFS9-gPEUsbn8MyXE3_aFSZoJdZX8-UGxM1q_rS2M",[822,824],{"title":121,"path":122,"stem":123,"description":823,"children":-1},"Simulate a shockwave effect originating from a center point, creating a ripple-like distortion in the scene.",{"title":129,"path":130,"stem":131,"description":825,"children":-1},"Render a texture overlay with customizable blend options to create various visual effects.",1779713682743]