재예 렌더링

Reyes rendering
Aqsis Reyes 렌더링의 유타 찻주전자 변위 셰이더

Reyes rendering은 3D 컴퓨터 그래픽에서 광실현적 이미지를 렌더링하는 데 사용되는 컴퓨터 소프트웨어 아키텍처다.1980년대 중반 로렌 카펜터로버트 L에 의해 개발되었다. 현재 픽사 루카스필름의 컴퓨터 그래픽 연구 그룹에서 요리하십시오.[1]이 영화는 1982년 영화 스타 트렉 2에서 제네시스 효과 시퀀스의 이미지를 렌더링하기 위해 처음 사용되었다.분노.픽사의 렌더맨은 2016년 제거되기 전까지 레이즈 알고리즘의 한 구현이었다.[2]알고리즘을 기술한 원본 논문에 따르면, Reyes 이미지 렌더링 시스템은 "복잡한 이미지의 빠른 고품질 렌더링을 위한 아키텍처"이다.Reyes는 알고리즘과 데이터 처리 시스템의 모음으로 제안되었다.그러나, "알고리즘"과 "건축학"이라는 용어는 이 문맥에서 동의어로 사용되었고, 이 글에서 서로 바꾸어 사용된다.[citation needed]

이름

ReyesRenders Everything You Ever Saw(이름 역시 루카스 필름이 있던 캘리포니아주 Point Reyes에 있는 말장난이다)의 약자로 광학 영상 시스템과 연결된 과정을 암시한다.로버트 L에 따르면 1987년 Cook/Carpenter/Catmull SIGRAPH 용지에 나와 있듯이, Cook, Reyes는 대문자로 쓴 첫 글자만 있다.

건축

아키텍처는 다음과 같은 여러 가지 목표를 염두에 두고 설계되었다.

  • 모델 복잡성/다양성:시각적으로 복잡하고 풍부한 이미지를 생성하기 위해 렌더링 시스템 사용자는 프랙탈 및 입자 시스템과 같은 절차적 모델을 사용하여 생성될 수 있는 복잡한 기하학적 구조의 많은 숫자(10만 초)를 자유롭게 모델링할 수 있어야 한다.
  • 음영 처리 복잡성:한 장면에서 많은 시각적 복잡성은 광선이 고체 물체 표면과 상호작용하는 방식에 의해 발생한다.일반적으로 컴퓨터 그래픽에서는 이것을 텍스처를 사용하여 모델링한다.질감은 픽셀의 색상 배열일 수 있으며, 표면 변위 또는 투명도 또는 표면 반사도를 설명할 수 있다.Reyes는 사용자가 간단한 조회 테이블이 아닌 절차 알고리즘을 구현하는 컴퓨터 프로그램을 사용하여 표면 구조와 광학적 상호작용을 수행하는 절차 셰이더를 통합할 수 있도록 한다.알고리즘의 상당 부분은 프로세서가 데이터 저장소에서 텍스처를 가져오는 데 소요되는 시간을 최소화하기 위한 것이다.
  • 최소 광선 추적:레이스가 제안되었을 당시, 컴퓨터 시스템은 처리 능력과 저장 면에서 현저하게 성능이 떨어졌다.이것은 광실현적인 장면을 추적하는 광선이 프레임당 수십, 수백 시간이 걸린다는 것을 의미했다.일반적으로 레이 트레이스가 아닌 레이예스와 같은 알고리즘은 거의 광현실적인 결과와 함께 훨씬 더 빨리 실행된다.
  • 속도: 1년에 초당 24프레임으로 2시간짜리 영화를 렌더링하면 프레임당 평균 3분씩 렌더링할 수 있다.
  • 이미지 품질:원하지 않는 알고리즘 관련 아티팩트가 포함된 이미지는 허용되지 않는 것으로 간주된다.
  • 유연성:아키텍처는 알고리즘의 완전한 재구성이 필요 없이 새로운 기법을 이용할 수 있을 때 통합할 수 있을 만큼 충분히 유연해야 한다.

Reyes는 필름 품질 렌더링에 필요하다고 생각되는 몇 가지 효과, 즉 매끄러운 곡면, 표면 텍스처링, 모션 블러드, 필드 깊이 등을 효율적으로 달성한다.

리예스는 파라메트릭 패치로 대표되는 것과 같은 곡면 표면을 마이크로폴리곤, 크기가 각각 1픽셀 미만인 작은 4개 변광성으로 나누어 렌더링한다.곡면의 정확한 근사치를 위해서는 많은 마이크로폴리곤이 필요하지만, 단순하고 병렬 가능한 조작으로 처리할 수 있다.Reyes 렌더러(Reyes 렌더러)는 높은 수준의 원시 요소들을 요구 시 마이크로폴리곤(micropolygon)으로 판매하며, 각 원시 요소를 최종 이미지에서 매끄럽게 보이도록 필요한 만큼만 미세하게 나눈다.

다음으로, 셰이더 시스템은 마이크로폴리곤의 각 정점에 색상과 불투명도를 할당한다.대부분의 Reyes 렌더러는 사용자가 음영 언어로 작성된 임의의 조명과 텍스처링 기능을 제공할 수 있도록 한다.마이크로폴리곤은 계산이 벡터화될 수 있는 큰 그리드에서 처리된다.

음영 처리된 마이크로폴리곤을 스크린 공간에서 샘플링하여 출력 이미지를 생성한다.Reyes는 비블러 렌더가 필요로 하는 것보다 더 많은 기하학적 구조나 음영 샘플 없이도 모션 블러와 필드 깊이에 필요한 통합을 수행하는 혁신적인 몰표면 알고리즘이나 히더를 사용한다.히더는 확률적 샘플링이라고 불리는 몬테카를로(Monte Carlo) 방법을 사용하여 시간 및 렌즈 위치에 걸쳐 각 픽셀마다 마이크로폴리곤 색상을 축적한다.

파이프라인

기본 Reyes 파이프라인에는 다음과 같은 단계가 있다.

  1. 바운드. 각 기하학적 원시체의 바운딩 볼륨을 계산한다.
  2. 원소들을 더 작고 주사위처럼 될 수 있는 원소들로 쪼개라.
  3. 주사위. 원시인을 마이크로폴리곤 그리드로 변환시켜 각각 대략 픽셀 크기의 크기로 만들어라.
  4. 음영. 마이크로폴리곤 그리드의 각 정점에서 조명과 음영을 계산한다.
  5. 그리드를 개별 마이크로폴리곤으로 분해하고, 각 마이크로폴리곤은 시야를 확보하는지 점검한다.
  6. 숨어서 최종 2D 이미지를 생성하는 마이크로폴리곤을 샘플링하십시오.

이 설계에서 렌더러는 모든 원시 형상이 처리될 때까지 최종 이미지를 출력할 수 없으므로 전체 프레임 버퍼를 메모리에 저장해야 한다.일반적인 메모리 최적화는 다이싱 단계에 앞서 버킷링이라는 단계를 도입한다.출력 이미지는 "버킷"의 거친 그리드로 나뉘는데, 각각 크기가 16 x 16 픽셀이다.그런 다음 버킷 경계를 따라 개체가 대략 분할되고 위치에 따라 버킷으로 배치된다.각 버킷은 개별적으로 썰어 그려지며, 이전 버킷의 데이터는 다음 버킷이 처리되기 전에 폐기된다.이런 식으로 현재 버킷에 대한 프레임 버퍼와 모든 기하학적 원시성에 대한 높은 수준의 설명만 메모리에 유지되어야 한다.일반적인 장면의 경우, 이는 수정되지 않은 Reyes 알고리즘에 비해 메모리 사용량이 크게 감소한다.

리예스 렌더러

다음 렌더러는 Reyes 알고리즘을 한쪽 또는 다른 방식으로 사용하거나 사용자가 자신의 이미지를 생성하기 위해 해당 알고리즘을 선택할 수 있도록 허용한다.

참조

  1. ^ 렌더맨@20: 에드 캣멀과 다나 바탈리 픽사의 킬러 앱에 반영"
  2. ^ "Pixar ships RenderMan 21 CG Channel". 2016-07-20. Retrieved 2021-03-11.
  3. ^ "Pixar ships RenderMan 21 CG Channel". www.cgchannel.com. Retrieved 2016-07-22.

외부 링크