[{"data":1,"prerenderedAt":1055},["ShallowReactive",2],{"navigation":3,"\u002Fapi\u002Fthree\u002Fn8ao":188,"\u002Fapi\u002Fthree\u002Fn8ao-surround":1050},[4,14,178],{"title":5,"path":6,"stem":7,"children":8},"Introduction","\u002Fgetting-started","1.getting-started\u002F1.index",[9,10],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":15,"path":16,"stem":17,"children":18},"Api","\u002Fapi","2.api",[19,22,148],{"title":20,"path":16,"stem":21},"API Reference","2.api\u002Findex",{"title":23,"path":24,"stem":25,"children":26},"Pmndrs Effects","\u002Fapi\u002Fpmndrs","2.api\u002F1.pmndrs\u002Findex",[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,144],{"title":23,"path":24,"stem":25},{"title":29,"path":30,"stem":31},"ASCII","\u002Fapi\u002Fpmndrs\u002Fascii","2.api\u002F1.pmndrs\u002Fascii",{"title":33,"path":34,"stem":35},"Barrel Blur","\u002Fapi\u002Fpmndrs\u002Fbarrel-blur","2.api\u002F1.pmndrs\u002Fbarrel-blur",{"title":37,"path":38,"stem":39},"Bloom","\u002Fapi\u002Fpmndrs\u002Fbloom","2.api\u002F1.pmndrs\u002Fbloom",{"title":41,"path":42,"stem":43},"Brightness & Contrast","\u002Fapi\u002Fpmndrs\u002Fbrightness-contrast","2.api\u002F1.pmndrs\u002Fbrightness-contrast",{"title":45,"path":46,"stem":47},"Chromatic Aberration","\u002Fapi\u002Fpmndrs\u002Fchromatic-aberration","2.api\u002F1.pmndrs\u002Fchromatic-aberration",{"title":49,"path":50,"stem":51},"Color Average","\u002Fapi\u002Fpmndrs\u002Fcolor-average","2.api\u002F1.pmndrs\u002Fcolor-average",{"title":53,"path":54,"stem":55},"Color Depth","\u002Fapi\u002Fpmndrs\u002Fcolor-depth","2.api\u002F1.pmndrs\u002Fcolor-depth",{"title":57,"path":58,"stem":59},"Depth of Field","\u002Fapi\u002Fpmndrs\u002Fdepth-of-field","2.api\u002F1.pmndrs\u002Fdepth-of-field",{"title":61,"path":62,"stem":63},"Dot Screen","\u002Fapi\u002Fpmndrs\u002Fdot-screen","2.api\u002F1.pmndrs\u002Fdot-screen",{"title":65,"path":66,"stem":67},"Fish Eye","\u002Fapi\u002Fpmndrs\u002Ffish-eye","2.api\u002F1.pmndrs\u002Ffish-eye",{"title":69,"path":70,"stem":71},"FXAA","\u002Fapi\u002Fpmndrs\u002Ffxaa","2.api\u002F1.pmndrs\u002Ffxaa",{"title":73,"path":74,"stem":75},"Glitch","\u002Fapi\u002Fpmndrs\u002Fglitch","2.api\u002F1.pmndrs\u002Fglitch",{"title":77,"path":78,"stem":79},"God Rays","\u002Fapi\u002Fpmndrs\u002Fgod-rays","2.api\u002F1.pmndrs\u002Fgod-rays",{"title":81,"path":82,"stem":83},"Grid","\u002Fapi\u002Fpmndrs\u002Fgrid","2.api\u002F1.pmndrs\u002Fgrid",{"title":85,"path":86,"stem":87},"Hue & Saturation","\u002Fapi\u002Fpmndrs\u002Fhue-saturation","2.api\u002F1.pmndrs\u002Fhue-saturation",{"title":89,"path":90,"stem":91},"Kuwahara","\u002Fapi\u002Fpmndrs\u002Fkuwahara","2.api\u002F1.pmndrs\u002Fkuwahara",{"title":93,"path":94,"stem":95},"Lens Distortion","\u002Fapi\u002Fpmndrs\u002Flens-distortion","2.api\u002F1.pmndrs\u002Flens-distortion",{"title":97,"path":98,"stem":99},"Linocut","\u002Fapi\u002Fpmndrs\u002Flinocut","2.api\u002F1.pmndrs\u002Flinocut",{"title":101,"path":102,"stem":103},"N8AO","\u002Fapi\u002Fpmndrs\u002Fn8ao","2.api\u002F1.pmndrs\u002Fn8ao",{"title":105,"path":106,"stem":107},"Noise","\u002Fapi\u002Fpmndrs\u002Fnoise","2.api\u002F1.pmndrs\u002Fnoise",{"title":109,"path":110,"stem":111},"Outline","\u002Fapi\u002Fpmndrs\u002Foutline","2.api\u002F1.pmndrs\u002Foutline",{"title":113,"path":114,"stem":115},"Pixelation","\u002Fapi\u002Fpmndrs\u002Fpixelation","2.api\u002F1.pmndrs\u002Fpixelation",{"title":117,"path":118,"stem":119},"Scanline","\u002Fapi\u002Fpmndrs\u002Fscanline","2.api\u002F1.pmndrs\u002Fscanline",{"title":121,"path":122,"stem":123},"Sepia","\u002Fapi\u002Fpmndrs\u002Fsepia","2.api\u002F1.pmndrs\u002Fsepia",{"title":125,"path":126,"stem":127},"Shock Wave","\u002Fapi\u002Fpmndrs\u002Fshock-wave","2.api\u002F1.pmndrs\u002Fshock-wave",{"title":129,"path":130,"stem":131},"SMAA","\u002Fapi\u002Fpmndrs\u002Fsmaa","2.api\u002F1.pmndrs\u002Fsmaa",{"title":133,"path":134,"stem":135},"Texture","\u002Fapi\u002Fpmndrs\u002Ftexture","2.api\u002F1.pmndrs\u002Ftexture",{"title":137,"path":138,"stem":139},"Tilt Shift","\u002Fapi\u002Fpmndrs\u002Ftilt-shift","2.api\u002F1.pmndrs\u002Ftilt-shift",{"title":141,"path":142,"stem":143},"ToneMapping","\u002Fapi\u002Fpmndrs\u002Ftone-mapping","2.api\u002F1.pmndrs\u002Ftone-mapping",{"title":145,"path":146,"stem":147},"Vignette","\u002Fapi\u002Fpmndrs\u002Fvignette","2.api\u002F1.pmndrs\u002Fvignette",{"title":149,"path":150,"stem":151,"children":152},"Three Native Effects","\u002Fapi\u002Fthree","2.api\u002F2.three\u002Findex",[153,154,157,161,164,168,171,174],{"title":149,"path":150,"stem":151},{"title":73,"path":155,"stem":156},"\u002Fapi\u002Fthree\u002Fglitch","2.api\u002F2.three\u002Fglitch",{"title":158,"path":159,"stem":160},"Halftone","\u002Fapi\u002Fthree\u002Fhalftone","2.api\u002F2.three\u002Fhalftone",{"title":101,"path":162,"stem":163},"\u002Fapi\u002Fthree\u002Fn8ao","2.api\u002F2.three\u002Fn8ao",{"title":165,"path":166,"stem":167},"Output","\u002Fapi\u002Fthree\u002Foutput","2.api\u002F2.three\u002Foutput",{"title":113,"path":169,"stem":170},"\u002Fapi\u002Fthree\u002Fpixelation","2.api\u002F2.three\u002Fpixelation",{"title":129,"path":172,"stem":173},"\u002Fapi\u002Fthree\u002Fsmaa","2.api\u002F2.three\u002Fsmaa",{"title":175,"path":176,"stem":177},"Unreal Bloom","\u002Fapi\u002Fthree\u002Funreal-bloom","2.api\u002F2.three\u002Funreal-bloom",{"title":179,"path":180,"stem":181,"children":182},"Advanced","\u002Fadvanced","3.advanced\u002Findex",[183,184],{"title":179,"path":180,"stem":181},{"title":185,"path":186,"stem":187},"You might not need post-processing","\u002Fadvanced\u002Fyou-might-not-need-post-processing","3.advanced\u002Fyou-might-not-need-post-processing",{"id":189,"title":101,"body":190,"description":1044,"extension":1045,"links":1046,"meta":1047,"navigation":356,"path":162,"seo":1048,"stem":163,"__hash__":1049},"docs\u002F2.api\u002F2.three\u002Fn8ao.md",{"type":191,"value":192,"toc":1038},"minimark",[193,199,222,229,234,257,505,531,541,557,561,832,836,843,1008,1022,1026,1034],[194,195,196],"docs-demo",{},[197,198],"three-n8ao",{},[200,201,202,203,207,208,211,212,221],"p",{},"The ",[204,205,206],"code",{},"\u003CN8AO \u002F>"," component wraps ",[204,209,210],{},"N8AOPass"," from ",[213,214,218],"a",{"href":215,"rel":216},"https:\u002F\u002Fgithub.com\u002FN8python\u002Fn8ao",[217],"nofollow",[204,219,220],{},"n8ao",", an ambient occlusion (AO) pass with good temporal stability. AO darkens the areas that nearby geometry blocks from light, such as corners, crevices and the contact areas below objects. It gives depth to scenes that look flat.",[200,223,224,225,228],{},"The demo starts in the ",[204,226,227],{},"Split"," render mode: the left half has no AO, the right half has AO.",[230,231,233],"h2",{"id":232},"usage","Usage",[200,235,236,238,239,242,243,246,247,250,251,253,254,256],{},[204,237,210],{}," renders the scene itself, so it replaces the ",[204,240,241],{},"RenderPass"," of the composer. Set ",[204,244,245],{},"without-render-pass"," on ",[204,248,249],{},"\u003CEffectComposer>",", or the scene renders two times each frame. In development, ",[204,252,206],{}," logs a warning when it finds a ",[204,255,241],{}," before it.",[258,259,264],"pre",{"className":260,"code":261,"language":262,"meta":263,"style":263},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { EffectComposer, N8AO, SMAA } from '@tresjs\u002Fpost-processing'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTresCanvas>\n    \u003C!-- Your scene -->\n\n    \u003CSuspense>\n      \u003CEffectComposer without-render-pass>\n        \u003CN8AO :ao-radius=\"2\" :intensity=\"3\" \u002F>\n        \u003CSMAA \u002F>\n      \u003C\u002FEffectComposer>\n    \u003C\u002FSuspense>\n  \u003C\u002FTresCanvas>\n\u003C\u002Ftemplate>\n","vue","",[204,265,266,301,341,351,358,368,379,386,391,402,416,457,466,476,486,496],{"__ignoreMap":263},[267,268,271,275,279,283,286,289,292,296,298],"span",{"class":269,"line":270},"line",1,[267,272,274],{"class":273},"sMK4o","\u003C",[267,276,278],{"class":277},"swJcz","script",[267,280,282],{"class":281},"spNyl"," setup",[267,284,285],{"class":281}," lang",[267,287,288],{"class":273},"=",[267,290,291],{"class":273},"\"",[267,293,295],{"class":294},"sfazB","ts",[267,297,291],{"class":273},[267,299,300],{"class":273},">\n",[267,302,304,308,311,315,318,321,323,326,329,332,335,338],{"class":269,"line":303},2,[267,305,307],{"class":306},"s7zQu","import",[267,309,310],{"class":273}," {",[267,312,314],{"class":313},"sTEyZ"," EffectComposer",[267,316,317],{"class":273},",",[267,319,320],{"class":313}," N8AO",[267,322,317],{"class":273},[267,324,325],{"class":313}," SMAA",[267,327,328],{"class":273}," }",[267,330,331],{"class":306}," from",[267,333,334],{"class":273}," '",[267,336,337],{"class":294},"@tresjs\u002Fpost-processing",[267,339,340],{"class":273},"'\n",[267,342,344,347,349],{"class":269,"line":343},3,[267,345,346],{"class":273},"\u003C\u002F",[267,348,278],{"class":277},[267,350,300],{"class":273},[267,352,354],{"class":269,"line":353},4,[267,355,357],{"emptyLinePlaceholder":356},true,"\n",[267,359,361,363,366],{"class":269,"line":360},5,[267,362,274],{"class":273},[267,364,365],{"class":277},"template",[267,367,300],{"class":273},[267,369,371,374,377],{"class":269,"line":370},6,[267,372,373],{"class":273},"  \u003C",[267,375,376],{"class":277},"TresCanvas",[267,378,300],{"class":273},[267,380,382],{"class":269,"line":381},7,[267,383,385],{"class":384},"sHwdD","    \u003C!-- Your scene -->\n",[267,387,389],{"class":269,"line":388},8,[267,390,357],{"emptyLinePlaceholder":356},[267,392,394,397,400],{"class":269,"line":393},9,[267,395,396],{"class":273},"    \u003C",[267,398,399],{"class":277},"Suspense",[267,401,300],{"class":273},[267,403,405,408,411,414],{"class":269,"line":404},10,[267,406,407],{"class":273},"      \u003C",[267,409,410],{"class":277},"EffectComposer",[267,412,413],{"class":281}," without-render-pass",[267,415,300],{"class":273},[267,417,419,422,424,427,430,432,434,438,440,442,445,447,449,452,454],{"class":269,"line":418},11,[267,420,421],{"class":273},"        \u003C",[267,423,101],{"class":277},[267,425,426],{"class":273}," :",[267,428,429],{"class":281},"ao-radius",[267,431,288],{"class":273},[267,433,291],{"class":273},[267,435,437],{"class":436},"sbssI","2",[267,439,291],{"class":273},[267,441,426],{"class":273},[267,443,444],{"class":281},"intensity",[267,446,288],{"class":273},[267,448,291],{"class":273},[267,450,451],{"class":436},"3",[267,453,291],{"class":273},[267,455,456],{"class":273}," \u002F>\n",[267,458,460,462,464],{"class":269,"line":459},12,[267,461,421],{"class":273},[267,463,129],{"class":277},[267,465,456],{"class":273},[267,467,469,472,474],{"class":269,"line":468},13,[267,470,471],{"class":273},"      \u003C\u002F",[267,473,410],{"class":277},[267,475,300],{"class":273},[267,477,479,482,484],{"class":269,"line":478},14,[267,480,481],{"class":273},"    \u003C\u002F",[267,483,399],{"class":277},[267,485,300],{"class":273},[267,487,489,492,494],{"class":269,"line":488},15,[267,490,491],{"class":273},"  \u003C\u002F",[267,493,376],{"class":277},[267,495,300],{"class":273},[267,497,499,501,503],{"class":269,"line":498},16,[267,500,346],{"class":273},[267,502,365],{"class":277},[267,504,300],{"class":273},[506,507,508],"warning",{},[200,509,510,511,513,514,516,517,520,521,524,525,527,528,530],{},"Without a ",[204,512,241],{},", ",[204,515,206],{}," is the only pass that draws the scene. Do not remove it with ",[204,518,519],{},"v-if",". To compare the scene with and without AO, set ",[204,522,523],{},"renderMode"," to ",[204,526,437],{}," (No AO) or ",[204,529,451],{}," (Split).",[532,533,534],"note",{},[200,535,536,537,540],{},"Hardware antialiasing does not work with AO. Add ",[204,538,539],{},"\u003CSMAA \u002F>"," after the AO pass instead.",[532,542,543],{},[200,544,545,546,549,550,524,553,556],{},"The pass converts its output to sRGB. If a later pass also converts color space, for example ",[204,547,548],{},"\u003COutput \u002F>",", set ",[204,551,552],{},"gammaCorrection",[204,554,555],{},"false",".",[230,558,560],{"id":559},"props","Props",[562,563,564,580],"table",{},[565,566,567],"thead",{},[568,569,570,574,577],"tr",{},[571,572,573],"th",{},"Prop",[571,575,576],{},"Description",[571,578,579],{},"Default",[581,582,583,607,625,648,663,678,693,708,722,736,753,772,790,819],"tbody",{},[568,584,585,591,602],{},[586,587,588],"td",{},[204,589,590],{},"aoRadius",[586,592,593,594,597,598,601],{},"Radius of the occlusion in world units (in pixels when ",[204,595,596],{},"screenSpaceRadius"," is ",[204,599,600],{},"true","). Use one or two magnitudes less than the scene size.",[586,603,604],{},[204,605,606],{},"5",[568,608,609,614,620],{},[586,610,611],{},[204,612,613],{},"distanceFalloff",[586,615,616,617,619],{},"How fast the occlusion fades with distance, as a ratio of ",[204,618,590],{},". Lower values reduce halos.",[586,621,622],{},[204,623,624],{},"1",[568,626,627,631,644],{},[586,628,629],{},[204,630,444],{},[586,632,633,634,637,638,640,641,643],{},"Darkens the occlusion, applied as ",[204,635,636],{},"pow(ao, intensity)",". ",[204,639,437],{}," is subtle, ",[204,642,606],{}," is strong.",[586,645,646],{},[204,647,606],{},[568,649,650,655,658],{},[586,651,652],{},[204,653,654],{},"color",[586,656,657],{},"Color of the occlusion, in sRGB. Keep it dark.",[586,659,660],{},[204,661,662],{},"0x000000",[568,664,665,670,673],{},[586,666,667],{},[204,668,669],{},"aoSamples",[586,671,672],{},"Number of AO samples per pixel. Changing it recompiles the shaders.",[586,674,675],{},[204,676,677],{},"16",[568,679,680,685,688],{},[586,681,682],{},[204,683,684],{},"denoiseSamples",[586,686,687],{},"Number of denoise samples per pixel. Changing it recompiles the shaders.",[586,689,690],{},[204,691,692],{},"8",[568,694,695,700,703],{},[586,696,697],{},[204,698,699],{},"denoiseRadius",[586,701,702],{},"Radius of the denoise filter.",[586,704,705],{},[204,706,707],{},"12",[568,709,710,715,718],{},[586,711,712],{},[204,713,714],{},"denoiseIterations",[586,716,717],{},"Number of denoise passes.",[586,719,720],{},[204,721,437],{},[568,723,724,729,732],{},[586,725,726],{},[204,727,728],{},"halfRes",[586,730,731],{},"Computes the AO at half resolution, then upscales it. Usually 2x to 4x faster.",[586,733,734],{},[204,735,555],{},[568,737,738,743,749],{},[586,739,740],{},[204,741,742],{},"depthAwareUpsampling",[586,744,745,746,748],{},"Uses depth-aware upscaling in ",[204,747,728],{}," mode. Without it, the AO bleeds over edges.",[586,750,751],{},[204,752,600],{},[568,754,755,759,768],{},[586,756,757],{},[204,758,596],{},[586,760,761,762,764,765,767],{},"Reads ",[204,763,590],{}," in pixels and ",[204,766,613],{}," as a ratio of it. Useful when the camera moves across scales.",[586,769,770],{},[204,771,555],{},[568,773,774,779,786],{},[586,775,776],{},[204,777,778],{},"aoTones",[586,780,781,782,785],{},"Splits the AO into this number of tones, for toon shading. ",[204,783,784],{},"0"," keeps it continuous.",[586,787,788],{},[204,789,784],{},[568,791,792,796,815],{},[586,793,794],{},[204,795,523],{},[586,797,798,799,801,802,804,805,807,808,810,811,814],{},"Debug view: ",[204,800,784],{}," Combined, ",[204,803,624],{}," AO only, ",[204,806,437],{}," No AO, ",[204,809,451],{}," Split, ",[204,812,813],{},"4"," Split AO.",[586,816,817],{},[204,818,784],{},[568,820,821,825,828],{},[586,822,823],{},[204,824,552],{},[586,826,827],{},"Applies sRGB conversion to the output.",[586,829,830],{},[204,831,600],{},[230,833,835],{"id":834},"advanced-settings","Advanced settings",[200,837,838,839,842],{},"The component exposes the n8ao ",[204,840,841],{},"pass"," through a template ref. Use it for settings that have no prop, for example the quality presets:",[258,844,846],{"className":260,"code":845,"language":262,"meta":263,"style":263},"\u003Cscript setup lang=\"ts\">\nconst n8ao = ref()\n\nwatch(() => n8ao.value?.pass, (pass) => {\n  pass?.setQualityMode('Neural-Medium')\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CN8AO ref=\"n8ao\" \u002F>\n\u003C\u002Ftemplate>\n",[204,847,848,868,885,889,932,955,962,970,974,982,1000],{"__ignoreMap":263},[267,849,850,852,854,856,858,860,862,864,866],{"class":269,"line":270},[267,851,274],{"class":273},[267,853,278],{"class":277},[267,855,282],{"class":281},[267,857,285],{"class":281},[267,859,288],{"class":273},[267,861,291],{"class":273},[267,863,295],{"class":294},[267,865,291],{"class":273},[267,867,300],{"class":273},[267,869,870,873,876,878,882],{"class":269,"line":303},[267,871,872],{"class":281},"const",[267,874,875],{"class":313}," n8ao ",[267,877,288],{"class":273},[267,879,881],{"class":880},"s2Zo4"," ref",[267,883,884],{"class":313},"()\n",[267,886,887],{"class":269,"line":343},[267,888,357],{"emptyLinePlaceholder":356},[267,890,891,894,897,900,903,906,908,911,914,916,918,921,924,927,929],{"class":269,"line":353},[267,892,893],{"class":880},"watch",[267,895,896],{"class":313},"(",[267,898,899],{"class":273},"()",[267,901,902],{"class":281}," =>",[267,904,905],{"class":313}," n8ao",[267,907,556],{"class":273},[267,909,910],{"class":313},"value",[267,912,913],{"class":273},"?.",[267,915,841],{"class":313},[267,917,317],{"class":273},[267,919,920],{"class":273}," (",[267,922,841],{"class":923},"sHdIc",[267,925,926],{"class":273},")",[267,928,902],{"class":281},[267,930,931],{"class":273}," {\n",[267,933,934,937,939,942,944,947,950,952],{"class":269,"line":360},[267,935,936],{"class":313},"  pass",[267,938,913],{"class":273},[267,940,941],{"class":880},"setQualityMode",[267,943,896],{"class":277},[267,945,946],{"class":273},"'",[267,948,949],{"class":294},"Neural-Medium",[267,951,946],{"class":273},[267,953,954],{"class":277},")\n",[267,956,957,960],{"class":269,"line":370},[267,958,959],{"class":273},"}",[267,961,954],{"class":313},[267,963,964,966,968],{"class":269,"line":381},[267,965,346],{"class":273},[267,967,278],{"class":277},[267,969,300],{"class":273},[267,971,972],{"class":269,"line":388},[267,973,357],{"emptyLinePlaceholder":356},[267,975,976,978,980],{"class":269,"line":393},[267,977,274],{"class":273},[267,979,365],{"class":277},[267,981,300],{"class":273},[267,983,984,986,988,990,992,994,996,998],{"class":269,"line":404},[267,985,373],{"class":273},[267,987,101],{"class":277},[267,989,881],{"class":281},[267,991,288],{"class":273},[267,993,291],{"class":273},[267,995,220],{"class":294},[267,997,291],{"class":273},[267,999,456],{"class":273},[267,1001,1002,1004,1006],{"class":269,"line":418},[267,1003,346],{"class":273},[267,1005,365],{"class":277},[267,1007,300],{"class":273},[200,1009,1010,1011,513,1013,1015,1016,1018,1019,1021],{},"A quality preset sets ",[204,1012,669],{},[204,1014,684],{}," and ",[204,1017,699],{},". When one of these props changes later, the new prop value replaces the preset value. The ",[204,1020,893],{}," runs again when the pass is created again, for example after a camera change, so the preset stays applied.",[230,1023,1025],{"id":1024},"further-reading","Further Reading",[200,1027,1028,1029,1033],{},"See the ",[213,1030,1032],{"href":215,"rel":1031},[217],"n8ao repository"," for a description of each setting and for performance notes.",[1035,1036,1037],"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 .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 pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":263,"searchDepth":270,"depth":303,"links":1039},[1040,1041,1042,1043],{"id":232,"depth":303,"text":233},{"id":559,"depth":303,"text":560},{"id":834,"depth":303,"text":835},{"id":1024,"depth":303,"text":1025},"Screen-space ambient occlusion that darkens corners, crevices and contact areas.","md",null,{},{"title":101,"description":1044},"jy6p-NAMvABx1SzL8-XT8Hr_Q01oAil2ow88ZMllMZ0",[1051,1053],{"title":158,"path":159,"stem":160,"description":1052,"children":-1},"Simulate halftone printing with dots for a comic book look.",{"title":165,"path":166,"stem":167,"description":1054,"children":-1},"Final pass for sRGB color space conversion and tone mapping.",1791549568638]