Engee 文档

SSAO

该页面正在翻译中。

GLMakie也实现https://learnopengl.com/Advanced-Lighting/SSAO[screen-space ambient occlusion],这是一种更精确地模拟光的散射的算法。 有几个可控的场景属性嵌套在 SSAO 顶级属性:

  • 半径 设置SSAO的范围。 您可能需要根据坐标系的限制向上或向下缩放

  • 偏见 设置要遮挡的像素所需的最小深度差。 增加这一点通常会使遮挡效果更强。

  • 模糊 设置应用于遮挡纹理的模糊(像素)范围。 纹理包含一个(随机)图案,通过模糊将其冲掉。 小 模糊 会更快,更清晰,更有图案。 大 模糊 会更慢更流畅。 通常情况下 模糊=2 是一个很好的妥协。

注意默认情况下SSAO后处理器处于关闭状态以节省资源。 要打开它,设置 格玛基。启动!(ssao=真),关闭任何现有的GLMakie窗口并重新打开它。

例子:

</无翻译>

using GLMakie
GLMakie.activate!(ssao=true)
GLMakie.closeall() # close any open screen

fig = Figure()
ssao = Makie.SSAO(radius = 5.0, blur = 3)
ax = LScene(fig[1, 1], scenekw = (ssao=ssao,))
# SSAO attributes are per scene
ax.scene.ssao.bias[] = 0.025

box = Rect3(Point3f(-0.5), Vec3f(1))
positions = [Point3f(x, y, rand()) for x in -5:5 for y in -5:5]
meshscatter!(ax, positions, marker=box, markersize=1, color=:lightblue, ssao=true)
fig
5d41970
# julia:disable-ssao # not working here
GLMakie.activate!(ssao=false) # hide
GLMakie.closeall() # hide