你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Shell 呈现
分层状态替代组件的 shell 状态为透明效果。 与 see-through 渲染相比,它只显示对象的最上面一层,与不透明渲染类似。 此外,采用 shell 渲染时,对象的正常外观也会改变。 这种效果适用于这样的用例:用户应获得可视化指引来专注于重要部分,但同时仍保持对整个场景的空间感知。
可以通过 ShellRenderingSettings
全局状态配置 shell 渲染对象的外观。 使用 shell 渲染的所有对象都将使用相同的设置。 所有对象使用相同参数。
注意
shell 呈现效果不能应用于点云。
ShellRenderingSettings 参数
类 ShellRenderingSettings
包含与全局 shell 渲染属性相关的设置:
参数 | 类型 | 说明 |
---|---|---|
Desaturation |
FLOAT | 要应用于常用最终对象颜色的去饱和度,范围为 0(零去饱和)到 1(全去饱和) |
Opacity |
FLOAT | Shell 渲染对象的不透明度,范围为 0(不可见)到 1(完全不透明) |
另请参阅下表,了解参数在应用于整个场景时的效果示例:
0 | 0.25 | 0.5 | 0.75 | 1.0 | |
---|---|---|---|---|---|
Desaturation | |||||
透明度 |
在最终不透明颜色上应用 Shell 效果,场景将渲染为其他效果。 这包含浅色分层状态替代。
示例
以下代码显示通过 API 的 ShellRenderingSettings
状态的示例用法:
void SetShellSettings(RenderingSession session)
{
ShellRenderingSettings shellRenderingSettings = session.Connection.ShellRenderingSettings;
shellRenderingSettings.Desaturation = 0.5f;
shellRenderingSettings.Opacity = 0.1f;
}
void SetShellSettings(ApiHandle<RenderingSession> session)
{
ApiHandle<ShellRenderingSettings> shellRenderingSettings = session->Connection()->GetShellRenderingSettings();
shellRenderingSettings->SetDesaturation(0.5f);
shellRenderingSettings->SetOpacity(0.1f);
}
“性能”
与标准不透明渲染相比,shell 渲染功能的固定开销较小。 它比在对象上使用透明材料或 see-through 渲染要快得多。 如果仅将部分场景切换到 shell 渲染,则性能可能会大打折扣。 出现这种情况的原因是,需要渲染其他显现出来的对象。 就此而言,其性能与剪切平面功能类似。