usingAbstractPlottings1,radius=textslider(0.0f0:0.1f0:2f0,"Radius",start=0.2f0)s2,bias=textslider(0f0:0.005f0:0.1f0,"Bias",start=0.015f0)s3,blur=textslider(Int32(0):Int32(1):Int32(5),"Blur",start=Int32(2))ssao_attrib=Attributes(radius=radius,bias=bias,blur=blur)floor_pos=[Point3f0(x+0.05rand(),y+0.05rand(),0.08rand())forxin0.05:0.1:1.0foryin0.05:0.1:1.0]tile=Rect3D(Point3f0(-0.8,-0.8,-0.3),Vec3f0(1.6,1.6,0.6))sphere_pos=0.8rand(Point3f0,50).+[Point3f0(0.1,0.1,0.2)]sphere_colors=rand(RGBf0,length(sphere_pos))sphere=Sphere(Point3f0(0),1f0)scene1=Scene(SSAO=ssao_attrib)meshscatter!(scene1,floor_pos,marker=tile,color=:lightgray,ssao=true,shading=false)meshscatter!(scene1,sphere_pos,marker=sphere,color=sphere_colors,ssao=true)scene2=Scene()meshscatter!(scene2,floor_pos,marker=tile,color=:lightgray,ssao=false,shading=false)meshscatter!(scene2,sphere_pos,marker=sphere,color=sphere_colors,ssao=false)scene=Scene(resolution=(900,500))hbox(vbox(s1,s2,s3),vbox(scene1,scene2),parent=scene)# Do not execute beyond this point!RecordEvents(scene,"output")