IT 이모저모

레이 트레이싱과 래스터 화의 차이점은 무엇입니까?

exien 2018. 3. 20. 09:10

전에이 영화를 보았습니다. 말 그대로.

레이 트레이싱이 무엇인지를 아는 컴퓨터 그래픽 외부의 사람들은 많지 않을 수도 있지만 행성에 보지 못한 사람들은별로 없습니다.

가장 가까운 멀티 플렉스로 가서 20 센트를 던지고 팝콘을 가져 가세요.

광선 추적은 현대 영화가 특수 효과를 생성하거나 향상시키는 데 사용하는 기술입니다. 현실적인 반사, 굴절 및 그림자를 생각하십시오. 이 권리를 얻으면 공상 과학 소설에서 스타 파이터가 비명을 지르는 것입니다. 그것은 빠른 자동차를 화나게 만듭니다. 그것은 전쟁 영화의 화재, 연기 및 폭발을 현실로 만듭니다.

광선 추적은 카메라로 캡처 한 이미지와 구별 할 수없는 이미지를 생성합니다. 실사 영화는 컴퓨터에서 생성 된 효과와 실제 세계에서 캡처 한 이미지를 자연스럽게 혼합하는 반면, 애니메이션 장편 영화는 디지털로 생성 된 장면을 빛과 그림자로 카메라맨이 촬영 한 것만 큼 표현할 수있는 것처럼 보이게합니다.

광선 추적을 생각하는 가장 쉬운 방법은 지금 당장 당신을 둘러 보는 것입니다. 보고있는 물체는 광선으로 비춰집니다. 이제 그 주위를 돌리고 눈에서 광선이 상호 작용하는 대상까지 거꾸로 그 광선의 경로를 따르십시오. 그것은 광선 추적입니다.

최근 영화에가 본 적이 있다면 레이 트레이싱이 실제로 작동하는 것을 보았을 것입니다.
최근 영화에가 본 적이 있다면 레이 트레이싱이 실제로 작동하는 것을 보았을 것입니다.

그러나 역사적으로 컴퓨터 하드웨어는 비디오 게임과 같이 실시간으로 이러한 기술을 사용할만큼 빠르지 않았습니다. 영화 제작자는 단일 프레임을 렌더링하는 동안 오래 걸릴 수 있으므로 렌더링 팜에서 오프라인으로 처리합니다. 비디오 게임은 불과 몇 초 밖에 걸리지 않습니다. 결과적으로 대부분의 실시간 그래픽은 래스터 화 기술에 의존합니다.

래스터 화 란 무엇입니까?

실시간 컴퓨터 그래픽은 오랫동안 "래스터 화"라는 기술을 사용하여 2 차원 화면에 3 차원 물체를 표시했습니다. 그것은 빠르다. 그리고 레이 트레이싱이 할 수있는 것만 큼 항상 좋지는 않더라도, 결과는 매우 좋았습니다.

래스터 화를 사용하면 화면의 객체가 객체의 3D 모델을 만드는 가상 삼각형 또는 다각형의 메쉬에서 만들어집니다. 이 가상 메쉬에서 정점으로 알려진 각 삼각형의 모서리는 크기와 모양이 다른 다른 삼각형의 꼭지점과 교차합니다. 많은 정 보가 공간상의 위치를 ​​포함하여 각 정점과 관련이 있으며 색상, 질감 및 객체의 표면이 향하는 방식을 결정하는 데 사용되는 "정상"에 대한 정보도 관련됩니다.

그런 다음 컴퓨터는 3D 모델의 삼각형을 2D 화면의 픽셀 또는 점으로 변환합니다. 각 픽셀에는 삼각형 정점에 저장된 데이터에서 초기 색상 값을 할당 할 수 있습니다.

장면의 광원이 픽셀을 치는 방식에 따라 픽셀 색상을 변경하고 픽셀에 하나 이상의 텍스처를 적용하는 등의 추가 픽셀 처리 또는 "음영 처리"를 결합하여 픽셀에 적용된 최종 색상을 생성합니다.

이것은 계산 집약적입니다. 한 장면에서 모든 객체 모델에 사용되는 수백만 개의 폴리곤과 4K 디스플레이의 약 800 만 픽셀이있을 수 있습니다. 또한 화면에 표시되는 각 프레임 또는 이미지는 일반적으로 디스플레이에서 매초 30-90 회 새로 고쳐집니다.

또한, 메모리 버퍼, 일을 함께 속도를 따로 설정 임시 공간, 화면에 표시되기 전에 미리 다가오는 프레임을 렌더링하는 데 사용됩니다. 깊이 또는 "z 버퍼"는 픽셀 깊이 정보를 저장하여 픽셀의 xy 화면 위치에있는 맨 앞에있는 객체가 화면에 표시되고 맨 앞에있는 객체 뒤의 객체가 숨겨진 상태로 유지되도록하는 데에도 사용됩니다.

이것이 현대의 그래픽이 풍부한 컴퓨터 게임이 강력한 GPU에 의존하는 이유입니다.

광선 추적이란 무엇입니까?

광선 추적은 다릅니다. 현실 세계에서 우리가 보는 3D 객체는 광원에 의해 비춰지고, 광자는 시청자의 눈에 도달하기 전에 한 객체에서 다른 객체로 바운스 될 수 있습니다.

일부 오브젝트는 빛을 차단하여 그림자를 만들 수 있습니다. 또는 한 물체의 이미지가 다른 물체의 표면에 반영된 것을 볼 때와 같이 한 물체에서 다른 물체로 빛이 반사 될 수 있습니다. 그리고 유리나 물처럼 투명하거나 반투명 한 물체를 통과 할 때 빛이 바뀔 때 굴절이 일어납니다.

레이 트레이싱은 1969 년 IBM의 Arthur Appel이 처음 기술 한 기술인 " 솔리드의 쉐이딩 머신 렌더링 기술"에서 우리의 눈 (또는 카메라를 보아라.)에서 되돌아와 그 효과를 포착한다 . 빛의 경로를 추적한다. ray를 2D 뷰 표면의 각 픽셀을 통해 장면의 3D 모델로 변환합니다.

다음 주요 획기적인 발전은 10 년 후였다. NVIDIA Research의 Turner Whitted 는 1979 년 " 음영 처리를위한 개선 된 조명 모델 "에서 반사, 그림자 및 굴절을 캡처하는 방법을 보여주었습니다.

Turner Whitted의 1979 년 종이 점프는 영화를 제작 한 레이 트레이싱 르네상스를 시작했습니다.

Whitted의 기술을 사용하면 광선이 장면의 물체를 만날 때 물체의 표면에 충돌 지점의 색상 및 조명 정보가 픽셀 색상 및 조명 레벨에 영향을줍니다. 광원에 도달하기 전에 광선이 다른 물체의 표면을 통해 반사되거나 이동하면 모든 물체의 색상 및 조명 정보가 최종 픽셀 색상에 기여할 수 있습니다.

1980 년대의 또 다른 한 쌍의 논문은 영화 제작 방식을 뒤흔든 컴퓨터 그래픽 혁명에 대한 지적 기반의 나머지 부분을 마련했습니다.

1984 년 Lucasfilm의 Robert Cook, Thomas Porter 및 Loren Carpenter는 레이 트레이싱이 모션 블러, 피사계 심도, penumbras, 반투명 및 퍼지 반사를 비롯한 다수의 일반적인 영화 제작 기술을 통합하는 방법에 대해 자세히 설명했습니다. 카메라.

2 년 후, CalTech의 Jim Kajiya 교수의 논문 " The Rendering Equation "은 컴퓨터 그래픽이 생성 된 방식을 물리학에 매핑하여, 빛이 한 장면에서 분산되는 방식을보다 잘 표현하는 작업을 마쳤습니다.

이 연구를 최신 GPU와 결합하면 결과는 실제 세계의 사진이나 비디오와 구분할 수없는 방식으로 그림자, 반사 및 굴절을 포착하는 컴퓨터 생성 이미지입니다. 그 현실주의는 광선 추적이 현대 영화 제작을 정복하기 위해 계속 된 이유입니다.

또한 매우 계산 집약적입니다. 그렇기 때문에 영화 제작자는 방대한 수의 서버 나 렌더링 용 집필에 의존합니다. 또한 복잡한 특수 효과를 렌더링하는 데 수 일에서 수 주까지 걸릴 수 있습니다.

확실히, 레이 트레이싱의 전반적인 그래픽 품질과 성능에 많은 요인들이 기여합니다. 실제로 광선 추적은 계산 집약적이므로 장면의 나머지 부분은 래스터 화를 사용하여 렌더링되는 반면 시각적 품질과 사실성을 최대한으로 활용하는 장면의 영역이나 객체를 렌더링하는 데 자주 사용됩니다. 래스터 화는 탁월한 그래픽 품질을 제공 할 수 있습니다.

무엇 향후 계획?

GPU가 계속해서 더 강력 해짐에 따라 레이 트레이싱을 더욱 많은 사람들을 위해 작동시키는 것이 다음 단계입니다. 예를 들어 Autodesk의 Arnold , Chaos Group의 V-Ray  또는 Pixar의 Renderman 과 같은 레이 트레이싱 도구 와 강력한 GPU로 무장 한 제품 디자이너와 건축가는 레이 트레이싱을 사용하여 제품의 사실적 모형을 몇 초 만에 생성하여보다 효과적으로 공동 작업 할 수 있습니다 값 비싼 프로토 타입을 건너 뛰십시오.

광선 추적 (Ray tracing)은 설계자와 조명 디자이너가 자신의 능력을 사용하여 빛이 설계와 상호 작용하는 방식을 모델링하는 것으로 입증되었습니다.

GPU가 더 많은 컴퓨팅 성능을 제공함에 따라 비디오 게임은이 기술의 새로운 영역입니다 . 월요일 엔, 엔비디아는 게임 개발자들에게 실시간의 영화 품질 렌더링을 제공하는 광선 추적 기술인 엔비디아 RTX를 발표했다 . 컴퓨터 그래픽 알고리즘과 GPU 아키텍처에서 수십 년간의 노력의 결과입니다.

NVIDIA Volta 아키텍처 GPU 에서 실행되는 광선 추적 엔진으로 구성됩니다 다양한 인터페이스를 통해 광선 추적을 지원하도록 설계되었습니다. NVIDIA는 Microsoft와의 협력을 통해 Microsoft의 새로운 DirectX Raytracing (DXR) API 를 통해 완벽한 RTX 지원을 가능하게했습니다 .

또한 게임 개발자가 이러한 기능을 활용할 수 있도록 NVIDIA는 GameWorks SDK에 광선 추적 노이즈 제거 모듈을 추가한다고 발표했습니다. 곧 업데이트되는 GameWorks SDK에는 광선 추적 영역 그림자와 광선 추적 광택 반사가 포함됩니다.

이 모든 것이 게임 개발자 및 다른 사람들에게 광선 추적 기술을보다 현실적인 반사음, 그림자 및 굴절을 만드는 작업으로 가져 오는 기능을 제공합니다. 결과적으로 가정에서 즐기는 게임은 할리우드 블록버스터의 영화 적 특성을 더 많이 얻게됩니다.

단점 : 자신의 팝콘을 만들어야합니다.

Matt Phar, Wenzel Jakob 및 Greg Humphreys의 물리적 기반 렌더링 : 이론에서 구현 "을 확인하십시오 현대의 실사 렌더링을 적용 할 수있는 수학 이론과 실제 기법을 모두 제공합니다.

게이머에게 이것이 무엇을 의미하는지 알고 싶습니까? GeForce.com에서  NVIDIA RTX 기술 : 실시간 레이 트레이싱을 게임의 현실로 만들기 "를 참조하십시오 .