Search
🔟

Cycles X

블렌더 공식 채널의 Cycles X 영상

원문

오늘 은 Cycles가 발표 된 지 정확히 10 년이 지났습니다 . 지난 10년 동안 Cycles는 많은 아티스트와 스튜디오에서 사용하는 본격적인 프로덕션 렌더러로 발전했습니다. 우리는 10년 동안 잘 작동한 것들, 뿐만아니라 잘 되지 않았던 것들 또는 렌더링 알고리즘과 하드웨어가 발전하면서 구식이 되었던 것들로 부터 많은 것을 배울 수 있었습니다.
우리는 핵심 Cycles 렌더링을 더 많이 개선하고자합니다. 그러나 과거에 내려진 일부 결정은 성능을 저해하고 코드 유지를 어렵게 만들었습니다. 이를 해결하기 위해 Sergey와 저는 아키텍처를 새로 고치고 향후 10 년 동안 준비하는 것을 목표로 Cycles X라는 연구 프로젝트를 시작했습니다. 문제의 일부만 해결하는 빠른 수정이나 최적화를 찾는 대신 아키텍처 전체에 대해서 재고하고 있습니다.

프로젝트

일반적으로이 프로젝트의 목표는 다음과 같습니다.
향후 개발을위한 아키텍처 개선
뷰포트 및 배치 렌더링의 유용성 향상
최신 CPU 및 GPU에서 성능 향상
고급 렌더링 알고리즘 소개
첫 번째 목표는 새로운 아키텍처를 검증하는 것이 었습니다. 이를 위해 우리는 새로운 GPU 커널의 프로토 타입과 뷰포트 및 배치 렌더링을위한 새로운 스케줄링 알고리즘을 구현했습니다. 이제 일부 벤치 마크 장면을 렌더링하기위한 충분한 기능이 있습니다.
현재 Cycles X 커널 그래프
오늘 우리는 몇 가지 초기 성능 결과를 공유하고 Cycles 컨트리뷰터들과 협력하기 위해 코드를 공유하고 있습니다. 기술 프리젠 테이션 새로운 아키텍처에 대한 개발자가 사용할 수 있으며 코드에서 찾을 수 있습니다 사이클-X 지점 에 git.blender.org .
새로운 아키텍처에 대한 개발자를 위한 기술프리젠테이션을 이용할 수 있며, 코드는 Cycles-x branch git.blender.org에서 찾을 수 있습니다.
할 일이 많이 있습니다. 이 작업이 공식 Blender 릴리스의 일부가 될 때까지 최소 6 개월이 걸릴 것으로 예상합니다.

초기 결과

첫째, 잘 알려진 벤치 마크 씬을 사용한 GPU 렌더링의 결과입니다. 아직 구현되지 않은 볼륨 렌더링과 같은 기능이 씬에서 제거 되었습니다.
새로운 아키텍처에서 계속 작업함에 따라 수치는 변경 될 것입니다. OptiX 지원은 불과 며칠 전 Patrick Mours에 의해 추가되었습니다.
가장 중요한 개선 사항은 라이트 바운스 및 셰이더가 많은 내부 장면에서, 새로운 커널이 더 높은 점유율과 일관성을 달성 할 수 있다는 것 입니다.
CPU 렌더링 성능은이 시점에서 이전과 거의 동일하지만 새로운 아키텍처는 거기에서도 새로운 가능성을 열어줍니다.
둘째, 뷰포트 렌더링을 개선하기 위해 노력하고 있습니다. 더 빠른 렌더링 커널이 도움이되지만, 스케줄링, 타이밍 및 디스플레이 메커니즘을 개선하면 뷰포트가 더 인터랙티브하게 느껴질 수 있다는 것도 발견했습니다. 적응 형 샘플링 및 일괄 처리 샘플에 대한 새로운 뷰포트 지원으로 처음 몇 개의 샘플이 완료되면 이미지가 더 빨리 클링-업 됩니다.
CPU 뷰포트 렌더링
Open Image Denoiser를 사용한 CPU 뷰포트 렌더링
GPU 뷰포트 렌더링

앞으로의 기대

앞으로 몇 달 내에 더 많은 최적화 아이디어를 시도하고 누락 된 기능을 복원 할 것입니다. 기능이 누락 되었을 경우는 일반적으로 새 아키텍처에서 우리가 다른 접근 방식을 취하기를 원했기 때문입니다. 몇 가지 예 는 아래와 같습니다:
볼륨 렌더링 : 우리는보다 현대적인 알고리즘으로 레이 마칭 및 라이트 샘플링을 구현할 계획입니다.
섀도우 캐처 : 간접 조명을 고려할 수있는 다른 알고리즘을 시도할 것 입니다.
다중 장치 렌더링 : 타일없이보다 세분화 된로드 밸런싱을 실험 할 것 입니다.
이 외에도 새로운 아키텍처는 패스-가이딩과 같은 렌더링 알고리즘에 더 쉽게 맞출 수 있도록해야합니다. 이 알고리즘을 GPU 친화적으로 만드는 방법을 실험하고 연구 할 것입니다.

중단된 기능

새로운 아키텍처의 일환으로 특히 아래의 일부 기능을 제거하고 있습니다.
OpenCL 렌더링 커널. 제한된 Cycles 분할 커널 구현, 드라이버 버그 및 지연된 OpenCL 표준의 조합으로 인해 유지 관리가 너무 어려워졌습니다. 깨끗한 슬레이트로부터 시작해야만 지금 우리가 연구하고 있는 더 큰 변화를 만들 수 있습니다.
우리는 AMD 및 Intel과 협력하여 다른 API를 사용하여 GPU에서 작동하는 새로운 커널을 얻습니다. 이것은 첫 번째 릴리스에 대한 준비가되어 있지는 않으며 구현은 현재 존재하는 것보다 더 높은 품질 기준에 도달해야만 합니다. 장기적으로 모든 주요 GPU 하드웨어 공급 업체를 지원하는 것은 여전히 중요한 목표입니다.
브랜치 패스 트레이싱. 우리는 이것을 쓸모없게 만들기 위해 샘플링 알고리즘을 개선하기 위해 노력하고 있습니다. 필요한 경우 샘플을 자동으로 할당합니다. 여기엔 개선된 적응형 샘플링과 빛의 중요도 샘플링이 핵심입니다.
NLM 디노이 저. AI 노이즈 제거 알고리즘, 특히 OpenImageDenoise는 일반적으로 더 나은 결과를 제공하며 이를 위해 아키텍처와 워크 플로를 최적화 할 것입니다.
이러한 기능은 2.83 및 2.93 LTS 릴리스에서도 계속 사용할 수 있으며 이후에도 지원이 됩니다.

AskNK의 Cycles X 빠른 리뷰

Cycles X 설치

공식사이트의 실험 브렌치에서 Cycles-X Branch를 다운받을 수 있다.