다음을 통해 공유


셸 렌더링

계층 구조 상태 재정의 구성 요소의 셸 상태는 투명도 효과입니다. 투명 렌더링과 달리 불투명 렌더링과 유사하게 개체의 맨 앞에 있는 계층만 표시됩니다. 또한 셸로 렌더링될 때 개체의 일반 모양을 변경할 수 있습니다. 이 효과는 전체 장면에 대해 공간 인식을 계속 유지하면서 사용자가 중요하지 않은 부분을 시각적으로 파악해야 하는 사용 사례를 위한 것입니다.

ShellRenderingSettings 전역 상태를 통해 셸 렌더링 개체의 모양을 구성할 수 있습니다. 셸 렌더링을 사용하는 모든 개체는 동일한 설정을 사용합니다. 개체별 매개 변수가 없습니다.

참고 항목

셸 렌더링 효과는 포인트 클라우드에 적용할 수 없습니다.

ShellRenderingSettings 매개 변수

클래스 ShellRenderingSettings에는 글로벌 셀 렌더링 속성과 관련된 설정이 있습니다.

매개 변수 형식 설명
Desaturation float 0(desaturation채도 감소 없음)에서 1(전체 desaturation) 사이의 일반적인 최종 개체 색에 적용할 desaturation의 크기
Opacity float 0(보이지 않음)에서 1(완전 불투명) 사이의 셸 렌더링 개체의 불투명도

또한 전체 장면에 적용될 때 매개 변수 효과에 대한 예제는 다음 표를 참조하세요.

0 0.25 0.5 0.75 1.0
Desaturation Desaturation-0.0 Desaturation-0.25 Desaturation-0.5 Desaturation-0.75 Desaturation-1.0
Opacity Opacity-0.0 Opacity-0.25 Opacity-0.5 Opacity-0.75 Opacity-1.0

셸 효과는 장면이 렌더링되는 최종 불투명 색에 적용됩니다. 여기에는 색조 계층 구조 상태 재정의가 포함됩니다.

예시

다음 코드에서는 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);
}

성능

셸 렌더링 기능은 표준 불투명 렌더링에 비해 작은 상수 오버헤드를 전달합니다. 개체 또는 투명 렌더링에 투명 재질을 사용하는 것보다 훨씬 빠릅니다. 장면의 일부만 셸 렌더링으로 전환되면 성능이 더욱 저하될 수 있습니다. 이러한 성능 저하는 렌더링이 필요한 개체가 추가로 표시되었기 때문에 발생할 수 있습니다. 이와 관련하여 성능은 평면 잘라내기 기능과 유사하게 작동합니다.

다음 단계