레이 트레이싱

레이 트레이싱이 인상적인 3D 렌더링을 발전시킨 과정 소개

콘솔 게임의 미래는 레이 트레이싱과 실제 광선과 같은 방식으로 빛을 작동시키는 능력으로 훨씬 더 밝아 보입니다. 레이 트레이싱은 포토리얼리즘을 만드는 데 중요하며 다양한 어플리케이션에서 빛이 시뮬레이션 되는 방식에 영향을 미칩니다. 최근까지 이 기술은 비디오 게임에서 사용하기에는 제한적이고 실현 가능하지 않았으며 대부분 영화 산업에서 사용되었습니다.    

래스터화는 수십 년 동안 게임에 사실적인 그래픽을 추가하기 위해 사용되었지만, 특히 조명과 관련하여 한계가 있습니다. 게임 개발자들이 다양한 반사, 그림자 및 기타 조명 요소를 구현하기 위한 영리한 기술을 고안했지만, 3D 레이 트레이싱이 허용하는 많은 효과는 실현 불가능합니다. 이러한 사전 렌더링 효과는 씬에 고정되기 때문에 항상 동일하며, 설득력이 있다고 해도 역동적이지 않습니다.    

3D 레이 트레이싱이 게임 개발자의 작업 방식을 바꾸었습니다. 이렇게 하면 플레이어가 씬 내에서 반응할 때 조명 효과가 변경되고 조명이 자동으로 조정됩니다.    

3D 렌더링은 완벽한 디지털 이미지를 만드는 데 유용한 기술이었으며 많은 산업에서 매우 중요합니다. 컴퓨팅 성능이 덜 필요하고 속도가 더 빠르지만, 레이 트레이싱의 현실감을 따라갈 수 없습니다.

레이 트레이싱
Tim Babb의 Recursive ray trace of a sphere/ CC BY-SA

3D 레이 트레이싱의 정의와 작동 방식

만약 여러분이 가장 좋아하는 공상 과학 영화에서 보는 특수 효과와 이미지를 즐긴다면, 여러분은 레이 트레이싱에 감사할 수 있습니다. 생성된 이미지는 모든 특수 효과를 실제 상황에서 캡처한 것과 구분할 수 없을 정도로 사실적으로 보이게 합니다.    

비디오 게임은 이제 영화 속 게임과 동일한 효과를 얻을 수 있으며 게이머들이 자신의 행동의 특수 효과를 실시간으로 렌더링할 수 있습니다. 영화  씬에서 사용되는 하드웨어는 비용이 많이 들며 수백만 개의 광자 빔을 사용하여 레이 트레이싱을 계산하므로 시간이 많이 소요됩니다.    

실생활에서 물체를 보는 방법은 빛이 어떻게 반사, 흡수 또는 굴절되는지에 따라 결정됩니다. 광원 밖으로 나온 광자들은 눈으로 보고 나서 뇌에 의해 해석됩니다.    

레이 트레이싱의 과정은 거의 같은 방식으로 작동하지만 그 반대입니다. 이 방법은 가상의 눈이나 카메라에서 그 안에 있는 모든 오브젝트까지의 빛의 경로를 "추적"하여 이미지를 생성합니다. 불필요한 광선을 처리하여 컴퓨팅 성능이 낭비되지 않으며 이미지 내의 모든 오브젝트에 광원 광선을 트레이싱하는 것보다 효율적입니다.

3D 레이 트레이싱의 작동 방식

개발자들은 3D 레이 트레이싱 이면의 과학을 통해 빛이 작동하는 실제 방식을 시뮬레이션 할 수 있습니다. 씬이 더 사실적으로 켜지고 프레임에 없는 오브젝트도 가시적인 씬에 정확하게 반영될 수 있습니다.    

3D 레이 트레이싱은 소프트웨어 내의 알고리즘과 함께 작동하며 카메라 렌즈로부터 시작됩니다. 레이 트레이싱된 빛은 바깥쪽으로 이동하고 경로의 모든 오브젝트에서 반사됩니다. 그것은 심지어 그들의 색상과 반사적인 특성도 가질 수 있습니다. 소프트웨어는 모든 광선에 영향을 미치는 적절한  광원을 결정합니다.    

레이 트레이싱은 집약적인 계산이 필요하기 때문에, 최근까지 비디오 게임의 그래픽에는 비실용적이었습니다. 이는 컴퓨터가 3D 가상 세계에서 2D 보기가 있는 모니터로 무언가를 매핑하기 위해 1080p 디스플레이의 2백만 픽셀 이상을 결정해야 하기 때문입니다.    

카메라에서 나오는 하나 이상의 광선이 각 픽셀을 통해 투영되어야 하며 컴퓨터는 광선이 삼각형과 교차하는지 확인해야 합니다. 여러분이 모를 경우를 대비해서, 컴퓨터 그래픽은 다각형과 수백만 개의 삼각형으로 구성되어 있습니다. 소프트웨어 알고리즘은 광선이 명중하는 삼각형의 색을 포함한 데이터를 사용하고 카메라와의 거리를 사용하여 최종 픽셀에 필요한 색상을 결정합니다.    

또한, 그 소프트웨어는 삼각형에서 반사되거나 삼각형에서 통과하는 광선도 측정합니다. 픽셀을 통해 단일 광선을 트레이싱하면 실제와 같은 이미지가 생성되지 않으며 광선이 많을수록 이미지 품질이 높아집니다. 안타깝게도, 비용 또한 증가합니다.

광선 추적

Ray trace diagram
by Timrb / CC BY-SA

3D 레이 트레이싱의 주요 용도

레이 트레이싱은 1982년에 컴퓨터 그래픽을 위해 처음 구현되기 시작했고, 1985년 츠쿠바에 있는 후지쯔 파빌리온에서 공개되었습니다. 이것은  1982년 오사카 대학에서 만들어진 LINKS-1 컴퓨터 그래픽스 시스템에서 만들어진 비디오입니다. 그 이후, 레이 트레이싱의 실시간  속도가 향상되었고 현재 대화형 3D 그래픽 어플리케이션에서 구현됩니다. 여기에는 데모 씬, 컴퓨터 및 비디오 게임 및 이미지 렌더링이  포함됩니다. 모든 차세대 게임 콘솔은 레이 트레이싱 하드웨어 구성요소를 지원하므로 게이머들이 레이 트레이싱의 실시간 효과를 즐길 수 있습니다.

3D 렌더링 – 가상 세계로 통하는 길

화면 용 2차원 이미지는 3D 렌더링을 사용하여 3D 모델에서 처리할 수 있습니다. 이러한 이미지는 이미지의 색상, 재질 및 질감을 지시하는 데이터 세트에 따라 생성됩니다.    

1960년대부터 렌더링은 컴퓨터 그래픽의 아버지"인 이반 서덜랜드가 MIT에 있는 동안 스케치패드를 만들었을 때 컴퓨터 그래픽에 사용되어  왔습니다. 하지만, 그 이전에도, 윌리엄 페터는 조종석 공간을 시뮬레이션하기 위해 조종사의 묘사를 만들기 위해 렌더링을 사용했습니다.

3D 렌더링 작동 방식

렌더링 기술은 그 이후로 발전해 왔지만, 기본적인 개념은 사진과 매우 유사합니다. 렌더링 프로그램은 사진을 구성하고 디지털 조명을 사용하여 중요한 세부  정보가 모두 포함된 사실적인 렌더링을 만듭니다.    

렌더링 방법은 서로 다르며 한 프레임을 렌더링하는 데 몇 초에서 며칠이 걸릴 수 있습니다.    

실시간 렌더링은 대화형 미디어에 사용되며 초당 최대 120프레임을 계산하고 표시할 수 있습니다. 사용되는 소프트웨어는 모션 블러, 렌즈 플레어 및 깊이와  같은 시각적 효과를 시뮬레이션 할 수 있습니다.    

영화와 다큐멘터리에서는 비 실시간 렌더링이 사용되며, 렌더링에는 씬의 복잡성에 따라 렌더링에 몇 초에서 며칠이 걸릴 수 있습니다. 렌더링 된 프레임은 미디어로 전송되기 전에 먼저 하드 드라이브에 저장되며 순차적 속도 프레임으로 사용되어 움직이는 듯한 느낌을 줍니다.    

렌더링 품질은 향상되고 있지만 프로세스는 여전히 느립니다. 일부 대기업은 이 문제를 해결하기 위해 렌더팜에 투자했습니다. 하지만 많은 예술가들과 디자이너들은 고급 하드웨어를 사용해야 합니다.    

렌더링 기술과 수년간 어떻게 발전해 왔는지를 보여줍니다.

래스터화(Rasterization)

초기 기술 중 하나는 모델을 다각형의 메쉬로 취급합니다. 다각형의 꼭짓점에는 위치, 질감 및 색상에 대한 정보가 포함되어 있습니다. 그런 다음 정점은 카메라에 수직인 평면에 투영되고 테두리처럼 작동합니다. 나머지 픽셀은 그림을 그리기 전에 먼저 이미지의 윤곽선을 그리는 것과 마찬가지로 색상으로 채워집니다.    

이 프로세스는 고해상도 안티 앨리어싱으로 수년간 개선되어 오브젝트의 가장자리가 매끄러워지고 오브젝트를 주변 픽셀과 혼합합니다.

래스터화
래스터화

레이 캐스팅

래스터화(Rasterization) 문제는 표면 겹침 문제를 일으키는 데 사용됩니다. 이것은 처음에 Z 버퍼로 해결되었지만, 레이 캐스팅이 이러한 문제를 해결했습니다. 카메라의 관점에서 모델에 광선을 투사하여 이미지 평면에 그릴 수 있습니다. 첫 번째 이미지가 렌더에 표시됩니다.

레이 트레이싱

레이 캐스팅은 여전히 그림자, 반사 및 굴절을 제대로 시뮬레이션 할 수 없었고 이를 개선하기 위해 레이 트레이싱이 개발되었습니다. 그것은 레이  캐스팅보다 빛을 더 잘 묘사하고 카메라의 관점에서 모델에 대한 1차 광선이 2차 광선을 생성하도록 합니다. 이 기술을 사용하면 표면과  그림자에 따라 그림자, 반사 또는 굴절선이 방출될 수 있습니다. 만약 표면을 방해하는 것이 있다면, 그것들은 다른 표면에 생성될 수  있습니다.

레이 트레이싱
레이 트레이싱

렌더링 방정식

가장 최근에 개발될 기술은 렌더링 방정식이며 빛이 방출되는 방법을 시뮬레이션 하려고 시도합니다. 빛은 광원이 아닌 모든 것에 의해 방출된다는 것을 고려함으로써 이것을 합니다. 모든 광원은 직접 조명 대신 가능한 모든 광원을 고려하는 방정식을 만드는 알고리즘에 사용됩니다.

3D 렌더링이 사용되는 산업

3D 렌더링은 많은 업계에서 사용되며 프로토 타이핑보다 비용 효율적이고 시간이 절약됩니다. 따라서 렌더링 된 프레젠테이션은 현재 아키텍처 및 엔지니어링 어플리케이션에서 널리 사용되고 있습니다.        

영화 산업에서 3D 애니메이션은 3D 렌더링을 사용하여 고화질의 애니메이션 영화를 제작합니다. 이러한 고화질 비디오 효과와 컴퓨터 생성 이미지를 사용하면 더 이상 완벽한 샷을 생성하는 데 한계가 사라집니다.    

게임 산업은 사실적인 렌더링과 고화질 이미지를 통해 상당한 이익을 얻었습니다. 이것은 게이머들에게 더 몰입감 있는 경험을 제공하며 게임 개발자들은 이러한 게임을 가능한 한 현실감 있게 만드는 것을 목표로 합니다.    

마케팅 업계는 또한 렌더를 사용하여 온라인과 카탈로그에 게시된 이미지에서 제품을 보다 사실적으로 보이게 하기 위해 렌더링을 사용합니다. 렌더링은 예산 효율적이며 프로모션이 더욱 매력적입니다.    

최근 보고서에  따르면, 3D 애니메이션 시장은 2019년부터 2025년까지 복합 연간 성장률(CAGR) 11%로 계속 성장할 것으로 예상됩니다. 2018년 기준 137억 5천만 달러로 평가되었습니다. 지금까지 3D 기술을 사용하는 시장의 가장 큰 점유율은 미디어 및 엔터테인먼트 산업이며, 제조업이 2위를 차지했습니다. 건축과 건설은 3D 기술의 세 번째로 큰 사용자입니다.

결론

3D 레이 트레이싱은 고도의 시각적 사실감을 생성하지만 더 많은 계산 주기가 필요하기 때문에 시간이 더 많이 소요됩니다. 이것이 바로 시간이 중요하지  않고 이미지가 느리게 렌더링 될 수 있는 어플리케이션에 사용되는 이유입니다. 이것은 급하지 않으며 매우 정확한 반사 및 그림자가 필요할 때 사용하는 이상적인 방법으로써 스틸 이미지, 영화 및 TV 시각 효과에 이상적입니다. 비디오 게임과 같이 속도가 필수적인 어플리케이션에서는 여전히 너무 느립니다.    

반면 3D 렌더링은 더 빠르고 렌더 품질은 항상 향상되고 있습니다. 렌더링 소프트웨어는 GPU, CPU 및 때로는 둘 다 사용하여 렌더링을 생성하지만, 해당 어플리케이션은 많은 리소스를 사용하고 종종 업그레이드가 필요합니다.        

거의 완벽한 렌더링을 보장하려면 몇 가지 변수를 고려해야 하지만, 후처리는 거의 사실에 가까운 이미지를 만드는 데 도움이 될 수 있습니다.    

레이 트레이싱은 게임 개발자를 위한 소프트웨어에 등장하기 시작했습니다. Nvidia는 소비자 수준의 GPU를 RTX 그래픽 카드에 통합했으며, Microsoft는 윈도우 및 Xbox One 게임에 대한 레이 트레이싱 지원을 도입했습니다. AMD는 또한 더 많은 게이머들이 실시간 현실과 더 가깝게 보이는 인상적인 게임에 접근할 수 있도록 곧 레이 트레이싱 통합과 따를 예정입니다.

관련 포스트

No items found.
live chat