최근 수정 시각 : 2024-09-27 07:10:23

렌더링

셰이더에서 넘어옴
1. 일반적 의미2. 컴퓨터 그래픽스에서의 의미
2.1. 셰이딩의 종류
2.1.1. 지역 조명 방식 (Local Illumination)
2.1.1.1. 플랫 셰이딩 (Flat Shading)2.1.1.2. 고러드 셰이딩 (Gouraud Shading)2.1.1.3. 퐁 셰이딩 (Phong Shading)2.1.1.4. 스킨 셰이딩 (Skin Shading)2.1.1.5. 앰비언트 오클루젼 (Ambient Occlusion)2.1.1.6. 기타
2.1.2. 전역 조명 방식 (Global Illumination)
2.1.2.1. 레이 트레이싱 (Ray Tracing)
2.1.2.1.1. 패스 트레이싱 (Path Tracing)
2.1.2.2. 포톤 매핑 (Photon Mapping)2.1.2.3. 라디오시티 (Radiosity)2.1.2.4. VXGI (Voxel Global Illumination)
2.2. 매핑의 종류
2.2.1. 텍스처 매핑 (Texture Mapping)2.2.2. 솔리드 텍스처 매핑 (Solid Texture Mapping)2.2.3. 범프 매핑 (Bump Mapping)2.2.4. 노말매핑 (Normal Mapping)2.2.5. 불투명 매핑 (Opacity Mapping)2.2.6. 밉맵 (Mipmap)2.2.7. 지형 매핑 (Height Mapping)2.2.8. 패럴랙스 오클루전 매핑 (Parallax Occlusion Mapping)2.2.9. 디스플레이스먼트 매핑 (Displacement Mapping)2.2.10. 반사 매핑 (Reflection Mapping)
2.2.10.1. 정반사 매핑 (Specular Mapping)2.2.10.2. 큐브 매핑
2.3. 관련 문서
3. 컴퓨터 마크업 언어에서의 의미
3.1. 관련 문서

1. 일반적 의미

Render의 기본 의미는 무엇인가를 (코드 등) 그려내거나 지금과는 다른 어떤 상태로 만든다는 뜻.

음악에서 연주자가 악보에 있는 기록된 음악을 연주자 자신만의 기술과 감성으로 표현(연주)하는 것을 렌더링이라고 부른다. 마찬가지로 작곡 프로그램에서 화면 상 악보에 기보된 대로 실제 들을 수 있는 음악을 추출하는 작업도 렌더링이라고 부른다. 일반적으로는 잘 쓰이지 않는 단어지만 음악하는 사람들에게 아주 친숙한 용어.

요리에서 동물의 지방에서 기름을 추출하는 것도 렌더링이라고 부른다.

농림축산 분야에서는 가축사체기계에 넣어 분쇄 및 열처리해 최종적으로 가루 형태의 산출물(비료, 또는 사료로 사용 가능)로 만들어내는 것을 렌더링이라 한다. 즉, 재활용 처리하는 것을 렌더링이라고 한다.

2. 컴퓨터 그래픽스에서의 의미

3D 형상 제작 과정
모델링(Modeling) 렌더링(Rendering)
투영(Projection) 클리핑(Clipping) 은면처리(Hidden Surface) 셰이딩(Shading) 매핑(Mapping)

컴퓨터 그래픽스 분야에서는 2차원 또는 3차원 장면을 바탕으로 컴퓨터를 이용해 사진이나 영상을 만들어내는 과정 또는 그러한 기법을 말한다. 보통 '3D 렌더링'과 같이 3D 이미지/영상과 깊은 관련을 맺고 있으며, 기술적 발전도 이곳에서 주로 이루어진다. 건물 설계, 게임, 애니메이션 등에 주로 사용된다. 이 문서에서는 3D 렌더링을 주로 다루고 있다.

엄밀히 나누면 3D 형상 제작 과정은 모델링과 렌더링 과정으로 나뉜다. 모델링이 기본적인 골격을 만드는 과정이라면, 렌더링은 그 골격 표면을 처리하는 과정이라 할 수 있다. 물론 렌더링 과정을 거치지 않고 모델링 과정에서 마치는 경우도 있지만, 보통 영상이나 게임분야에서는 렌더링 과정도 거친다. 렌더링에는 투영(Projection), 클리핑(Clipping), 은면처리(Hidden Surface), 셰이딩(Shading), 매핑(Mapping) 과정이 포함된다. 각 과정의 역할은 다음과 같다.
  • 투영(Projection): 3차원 오브젝트를 2차원 스크린에 비추는 과정.
  • 클리핑(Clipping): 디스플레이 밖(모니터 또는 윈도우 창에 나오지 않는 부분)의 오브젝트 부분(보이지 않는 부분)을 처리하는 과정.[1]
  • 은면처리(Hidden Surface): 오브젝트의 보이는 부분과 보이지 않는 부분을 처리하는 과정.
  • 셰이딩(Shading): 음영, 조명 빛, 광원의 빛, 반사광, 투명한 효과 등을 처리하는 과정.[2]
  • 매핑(Mapping): 오브젝트의 표면에 텍스처 등을 씌워 질감과 반사된 풍경 등을 처리하는 과정.[3]

이중 셰이딩과 매핑은 그 특성상 서로 겹치는 경우가 많다.

해외에서는 영화 촬영과 동시에 레이트레이싱 렌더링이 이루어지는 기법을 적용한 단편 영화가 나왔다. 제작 영상. VRay를 이용했는데, 실시간 레이트레이싱 뷰포트는 프로그램 자체가 지원하는 경우가 있으므로 별로 신기할 것은 없으며,[4] 보통 그 뷰포트는 보통 미리보기로만 쓰인다. 실제 렌더링은 이후에 오랜 시간을 걸쳐 이루어진다. 광선 추적을 적게 하면 출력에 노이즈가 생기며, 당장 영상 속 카메라를 보아도 화면에 자글자글한 점들이 보인다. 그래서 노이즈를 없애려면 광선의 개수를 높여야 하는데, 이렇게 되면 사진 하나를 렌더링하는 데에도 고사양 CPU나 쿼드로급 GPU에서 수 분에서 수십 분이 걸리는 경우가 많다. 제대로 된 영화급이면 프레임당 수십시간[5]이 걸리기도 한다. 이것이 영화와 게임 사이에 그래픽 차이가 생기는 이유이기도 하다. 게임에서 보여지는 영상을 부드럽게 하려면 최소 초당 30번 렌더링해야 하지만,[6] 영화와 게임은 주어진 시간이 엄청나게 차이가 나고, 수천대의 컴퓨터로 렌더팜을 구성하여 병렬 렌더링을 하기 때문이다.

2.1. 셰이딩의 종류

셰이딩의 경우 조명에 의한 구현 방식에 따라 크게 지역 조명 방식(Local Illumination)과 전역 조명 방식(Global Illumination)으로 나뉜다.

참고로 쉐이딩, 쉐이더라 적는 경우가 많은데 영어 외래어 표기법 세칙에 따르면 [ʃ]는 뒤따르는 모음에 따라 '샤', '섀', '셔', '셰', '쇼', '슈', '시'로 적는다. 셰이딩, 셰이더의 원형인 셰이드는 국제음성기호상 [ʃeɪd]로 표기하므로 셰이딩으로 적는 게 맞는다. 항목 참고.

2.1.1. 지역 조명 방식 (Local Illumination)

주로 게임에서 쓰이는 방식으로[7] 빛 하나를 환경광, 난반사광, 정반사광으로 나누어 각각 계산한 다음 한 장면으로 출력한다.

파일:external/upload.wikimedia.org/Phong-shading-sample.jpg
2.1.1.1. 플랫 셰이딩 (Flat Shading)
가장 단순한 셰이딩 방식이다. 그냥 폴리곤 그대로 다각형 면을 채운다 보면 된다. 와이어프레임에 그대로 색만 입혔기 때문에 렌더링하면 왼쪽(Flat Shading)과 같이 투박한 모양이 나온다. 단순하기 때문에 렌더링 속도는 빠르지만 사실적이진 않아서 주로 프로토타입 작업에나 쓰인다.
2.1.1.2. 고러드 셰이딩 (Gouraud Shading)
플랫 셰이딩보다는 발전된 방식이다. 빛이 비춰지는 면들의 평균적인 명암을 계산해서 부드럽게 적용시켜준다. 플랫 셰이딩처럼 각져 보이진 않지만 퐁 셰이딩처럼 하이라이트나 반사광을 표현하진 못해 표면이 밋밋해 보이는 단점이 있다. 렌더링 속도도 플랫과 퐁 사이 중간 정도다.
2.1.1.3. 퐁 셰이딩 (Phong Shading)
베트남계 미국인인 부이 투옹 퐁(Bui Tuong Phong)이 개발했기에 퐁 셰이딩이라 부른다. 게임 과는 관련 없다. 퐁 셰이딩은 화소별로 색을 계산하여 하이라이트와 반사광를 표현할 수 있지만 계산 시간이 고러드 셰이딩보다는 거의 2배 이상 걸릴 정도로 오래 걸린다.
2.1.1.4. 스킨 셰이딩 (Skin Shading)
사람의 피부에 가까운 효과를 내는 셰이딩 방식이다. 반투명한 효과를 위해 표면 밑 산란(Sub-Surface Scattering) 기술을 이용한다.
2.1.1.5. 앰비언트 오클루젼 (Ambient Occlusion)
앰비언트 오클루젼의 종류는 SSAO 등 여러가지가 있다.[8] 지역 조명 방식의 근본적 한계로 색을 입히고 셰이딩을 하여 현실적으로 만드는 것이기 때문에 반사와 산란, 간접광에 취약하다. 지역 조명 방식에서는 빛의 반사와 산란이 일어나지 않아 게임 개발 등지에서는 거울이나 간접광을 만들 때 반사 텍스처나 간접광을 일일이 배치해야 한다. 수준 높은 게임 엔진은 그 과정을 한번에 할 수 있게 하겠지만, 기본적으로는 저 과정이 모두 들어가 있다. 물론 이런 단점이 있는데도 왜 쓰는가 하면, 레이 트레이싱에 비하면 연산량이 없다고 봐도 무방하기 때문.
2.1.1.6. 기타
그리고 그 외에도, 스무스 셰이딩(Smooth Shading), 애니소트로픽 셰이딩(Anisotropic Shading), 블린 셰이딩(Blinn Shading), 메탈 셰이딩(Metal Shading), 카툰 셰이딩(Cartoon Shading)같은 여러 지역 조명 방식 기반의 셰이딩 방식들이 있다.

2.1.2. 전역 조명 방식 (Global Illumination)

http://madebyevan.com/webgl-path-tracing/
빛은 어떤 사물에 닿았을 때 반사가 이뤄진다. 이때 빛이 어느 정도의 강도로 반사되느냐를 결정하는 것으로 정반사와 난반사가 있다. 정반사된 빛은 사물의 질감을 표현하며 난반사된 빛은 사물의 색을 표현한다. 또한 정반사가 옅어지며 난반사로 변하게 된다. 조명 방식(Illumination)이란 이런 과정을 수학적으로 계산하여 표현하는 모델이다. 전역 조명 방식(Global Illumination)은 줄여서 GI라고도 부르는 것으로, 특정 장면에 있는 모든 물체의 질감과 색, 빛을 통틀어 계산하여 표현하는 것이다. GI 는 엄청난 자원이 소모되기 때문에 그만큼 렌더링 시간이 오래 걸리며, 대부분의 게임에서는 비실시간 구현을 통한 성능 최적화 등을 통해 적당히 쓴다. 반면 전역 조명을 실시간으로 제대로 구현하는 기법은 대표적으로 레이 트레이싱(Ray Tracing)이 있다. 자세한 것은 글로벌 일루미네이션과 후술한 레이 트레이싱을 참고.
2.1.2.1. 레이 트레이싱 (Ray Tracing)
블러 스튜디오의 레이 트레이싱 프리 렌더링 영상 모음
{{{#black 게임엔진 3사[9][10]실시간 레이 트레이싱(Ray-Tracing) 데모}}}
{{{#!folding [동영상]
}}}||
현재 영화, 광고, 각종 영상물 및 게임의 프리 렌더링 CGI 대부분 이 기술 기반이다.

1980년 Turner Whitted가 An improved illumination model for shaded display 논문에서 발표한 기법으로 이미지의 픽셀 하나하나를 통과하는 광선들이 있다 가정하고 그 광선(Ray)을 역추적(Trace)하는 방식이다. 당연히 현실에 가장 가까우며 셰이더의 필요성이 위 방식에 비해 현저히 낮다. 그러나 광원이 아닌 시점으로부터 추적하는 방식은 터미네이터 등의 문제를 가져 왔다. (IEEE Computer Graphics and Applications 1999년 9월 21페이지) 셰이더 자체가 Path Tracing을 할 수 없는 로컬 일루미네이션에 현실감을 주기 위해 많이 쓰이기 때문.[11] 대신 픽셀 하나하나를 통과하는 광선이 있다 생각하기 때문에, 요구 연산량이 하늘을 찌른다. 게다가 광선의 산란이나 반사를 추적하기 위해서는 한 픽셀에 여러 번 연산을 해야 하는데[12] 실시간 연산은 아주 간단한 렌더링이 아닌 이상 엄청난 연산이 요구되어 2010년대 후반까지만 해도 실시간 렌더링은 몇몇 실험적이거나 간단한 렌더링이 아니라면 실현되지 않았다.

사실 지금의 하드웨어 성능으로도 광선의 모든 움직임을 추적하는 건 불가능하다. 계산량이 너무 터무니없는 수준이라 실시간 랜더링이 아닌 프리 랜더링에서도 그렇게는 못한다. 현실 세계에서 대부분의 물체는 난반사를 한다. 그 말은 즉, 무작위 방향으로 빛이 튄다는 뜻이다. 이때 빛이 튀어나갈 수 있는 모든 방향에 대해 전부 계산하려들면 계산량이 터무니없이 많아진다. 따라서 가능한 모든 경우 중 무작위로 샘플을 추출하고 계산하여 그 평균값을 사용하는 방식으로 동작한다. 비유하자면 여론조사를 위해 전국민에게 전화를 돌릴 필요는 없고, 소수의 무작위 사람에게만 전화를 돌려도 여론의 추이를 얼추 알 수 있듯, 픽셀의 색상을 정하기 위해 가능한 모든 빛의 움직임을 추적하는 대신 무작위로 선택한 일부의 움직임만 추적하여도 픽셀의 색상을 얼추 비슷하게 알아낼 수 있다. 대신 샘플링 수가 낮을 경우 평균값에 충분히 수렴하지 못해 픽셀이 튀는 결과가 나오는데, 이것이 바로 레이 트레이싱에서 노이즈가 발생하는 이유다. 그리고 이런 기법을 사용하더라도 여전히 엄청난 연산량이 필요하다.

이 정도의 연산은 80년대에 비해서 GPU가 엄청난 발전을 거듭했음에도 성능 문제로 인해 2018년부터 일부 게임에서 사용하기 시작했다. 한 때 1080p의 해상도는 아득히 높고 540p에 지포스 GTX 1080을 4개 SLI해도 노이즈 없이 60FPS을 달성치 못했다. 그러나 전용 유닛을 추가한 튜링 마이크로아키텍처를 기반으로 한 지포스 RTX 20 시리즈가 등장함으로써 어느 정도까지는 구현이 가능할 수 있게 되었다. RTX 2080 Ti로 돌릴 경우 1080p 60FPS, RTX 최적화를 통하면 RTX 2080으로 1440p 60FPS까지 뽑을 수 있다.


레이 트레이싱을 이용하는 게임 엔진이 개발된다. 해당 영상은 GTX TITAN 2개 SLI[13]로 찍은 것이며 그럼에도 불구하고 이동중에는 노이즈가 엄청나게 많이 생긴다. 정지 화면에서는 괜찮지만 게임 엔진 특성상 정지 화면에서만 잘 나오는 것은 큰 문제다. 대신 저화질과 노이즈 문제가 많은 화면임에도 화려한 테크니컬 데모 영상들이 보여주던 미묘하게 그래픽스러웠던 느낌이 없어졌다. 장점이 워낙에 특출나서 치명적인 단점들로도 가려지지 않는다는 소리. 수 많은 개발사들이 실시간 레이트레이싱에 집착하는 이유가 엿보이는 영상으로도 볼 수 있다. 제작자에게 문의한 결과, RTX 2080 Ti에서 4K 60FPS로 구동된다고 했다.


언리얼 엔진에서 1080p 24FPS로 실시간 레이 트레이싱을 구현한 영상을 공개했다. 노이즈는 보이지 않으며, 연산 장비는 볼타 마이크아키텍처 기반의 테슬라 V100 4개를 사용하였다고 한다.[14] 마이크로소프트DirectX Raytracing API를 사용하고, ILMxLAB, NVIDIA와 협력하여 제작하였다고 한다.

설명 영상에 따르면 완전히 레이 트레이싱만으로 화면을 만들어내는 것이 아닌, 낮은 해상도를 레이 트레이싱으로 렌더링 한 뒤에 AI를 이용해 화면을 합성해 결과물을 만들어내는 것으로 보인다. 레이 트레이싱의 무식한 연산량을 우회한 셈.

사실 이번 GDC 2018에서 시연된 언리얼 엔진 기반의 실시간 레이 트레이싱 구현 영상을 보면 에픽게임즈와 NVIDIA만 이 기술을 발표한 것이 아니다. 이는 레이 트레이싱이 2018년에 갑자기 툭 튀어 나온 새로운 기술이 아니기 때문이다. 컴퓨터 그래픽스에 입문한지 얼마 되지 않은 사람들은 잘 모르겠지만, 10년 전인 2008년에 인텔이 컴퓨팅 그래픽 연구용으로 울펜슈타인에 레이 트레이싱을 적용시켜서 데모를 시연했던 적도 있다. 이렇듯 레이 트레이싱은 1990년대, 2000년대에도 좋긴 하고 미래에 꼭 하긴 해야겠는데 지금은 컴퓨터 성능이 못 받쳐주네? 이런 분위기였다. 그러다 2018년 NVIDIA에서 마침내 레이 트레이싱 전용 ASIC인 RT 코어를 SM(스트림 멀티프로세서)당 1개씩 잔뜩 탑재한 그래픽 카드를 출시했기 때문에 2018년에 다시 한번 이슈가 된 것이다. 렌더팜에서는 예전부터 엔비디아나 AMD에서 제공하는 레이 트레이싱 렌더러를 사용하거나, PowerVR 만드는 그 이미지네이션에서 제공했었던 전용 가속장치나 기타 회사에서 나오는 솔루션을 사용해 제한적으로 레이 트레이싱을 적용해 렌더링을 돌렸다. AMD 또한 레이 트레이싱 기술을 재발표했으며[15] EA사의 SEED 프로젝트 팀 또한 레이 트레이싱 기술 데모를 선보였다. 하지만 EA의 그것은 에픽게임즈와는 의미가 조금 다른데, 언리얼이 영화 산업을 위할 렌더링 기법을 개발했다면, EA는 게임 산업에 접목시킬 기술을 개발했다는 것이다.[16][17] 위에서 소개한 언리얼 엔진과 같이 마이크로소프트의 API인 DirectX Raytracing에 기반하고 있다.

또한 이 레이 트레이싱 기법은 해상도를 줄이다 보니 자연스레 광선 추적량이 줄어들게 된다. 또한, 언리얼 엔진의 테크 데모를 보면 알겠지만, 상당히 적은 오브젝트를 배치했고, 유리 굴절 같은 것은 보이지 않고, 사람의 맨살을 비롯한 난반사 재질이 드러나지 않고 있다. 즉, 완전히 기존 영화 산업의 렌더링 기법과 퀄리티면에서 완벽할 수 없다는 것이다.(하이브리드) 하지만 그럼에도 불구하고 기존의 렌더링 비용을 비롯한 여러가지 자원을 절약한다는 면에서 획기적인 신기술임은 확실하다고 볼 수 있다.

현재로서 GPU 실시간 레이 트레이싱의 상용화를 가로막는 것은 VFX 스튜디오에서 납득할 만한 가격의 그래픽카드의 GPU의 램 용량과, [18] 기존 렌더러들의 포팅인데, 전자는 한참 멀어보이고 후자는 카오스그룹, 솔리드앵글 등에 의하여 빠르게 이루어지고 있다. 옥테인이나 사이클스 같은 렌더러들은 이미 GPU 연산을 지원하고 있다. VFX에서 이 정도이니 게임은 한참 멀었다고 봐도 된다.

여담이지만, 언리얼 엔진은 스타워즈: 로그원 CG 제작에도 참여했다고 한다. 하지만 정확히 어떤 형식으로 구현된 건지는 밝히지 않아 자세한 정보는 알기 어렵지만, 렌더링 시간을 줄였다는 표현에 미루어 보아 어느 정도 가속에 사용한 것으로 추정된다. [19]

배틀필드 VFIFA 19에 사용된 2018년 버전의 프로스트바이트 엔진부터는 레이 트레이싱 기능을 지원한다.

실시간 레이 트레이싱은 지포스 RTX 2080 Ti로도 제대로 구현하기 힘들 만큼 무리가 많다는 것이 대부분의 평가이다. 제대로 레이 트레이싱을 적용하면 흔히 말하는 화면 지글거림(Jittering Artifacts, 텍스처면이 지글거리면서 깨지는 현상)이 일어난다. 게임에서 적용하는 것은 이런 지글거림을 최소화하며 프레임 유저도 간신히 맞추어 가는 수준의 최적화일 뿐, 현세대로서는 무리라는 의견이 많다. 일반적으로 사용할 수 있는 기능도 아니고 한정된 곳에서만 사용되는 ASIC을 달아놓아도 60FPS 고정이 어려운 것을 보면 게임에서의 실시간 레이 트레이싱 적용이 얼마나 어려운지 실감할 수 있는 대목이다. 최소 7nm 공정이 일반화 될 정도는 되어야 어느 정도 제대로된 레이 트레이싱을 기대할 수 있는 수준이다. 엔비디아에서 아직 제대로 완성되지 않은 레이 트레이싱을 선보인 것은, 그간 그래픽 카드의 성능이 점차 평준화되었기에[20] 시장 경쟁력을 확보할 새로운 무기로 AMD가 준비하기 힘든 분야를 선택했다는 의견이 많다.

하지만 이는 AMD에 인수되기 이전인 ATi 시절에도 있었던 전통이다. 당시 ATi는 같은 GPU 마이크로아키텍처에 파생 GPU를 적게 내놓아서 소프트웨어로 모딩을 하여 파이어프로 파이어 GL, 라데온 파이어 CL 등 여러 모델에 동일한 GPU를 돌려쓰는 경향이 있었다. AMD가 nVidia처럼 레이 트레이싱 ASIC을 스트림 프로세서만큼 박아서 출시하면 당장 게임은 잘 될 것이다. 하지만 레이 트레이싱용 ASIC을 도입해 얻는 레이 트레이싱 성능의 향상은 여러 제품군 중 수익성이 가장 낮은 일반 소비자용에서나 장점으로 통할 성능이다. 수익률이 높은 축에 속하는 GPGPU 시장을 예로 들면, 머신러닝 연산을 돌릴 때 레이 트레이싱 기술이 과연 필요한지 생각해보자. 즉, 특정 분야에서 쓸모가 없는 레이 트레이싱 성능은 오르지만, 면적이 2배로 증가해 가격이 폭등함과 동시에 수율 저조로 인할 공급량 부족, 생산 단가 증가로 인해 수익성 높은 시장에서의 경쟁력을 제 발로 차버리는 꼴이 되는 것이다.
수익률이 상대적으로 부족한 시장에서의 약진을 위해 팔기만 하면 현금이 돈다발로 들어오는 GPGPU 시장에서의 경쟁력을 포기한다고 하는 것은 배보다 배꼽이 큰 격이다. 당장 ROP보단 스트림 프로세서에 몰빵된 GCN 마이크로아키텍처만 봐도 게임 성능과 FP32 연산 성능의 괴리를 보면 무슨 말을 하는지 이해할 수 있을 것이다. 게다가 AMD는 전통적으로 미들 체급의 전략을 고수해왔기에, 600mm2이 넘는 거대한 다이가 출현하게 된 제품은 기존 AMD 제품의 철학과 정면으로 대비되는 일이다. AMD가 준비를 못 하는 게 아니라 그냥 안 하는 거다.

그래서 AMD는 레이 트레이싱 전용 ASIC를 탑재하는 것은 2018~2019년 시점에서는 GPU를 이용하는 시장 전체적으로 아직 보장되지 않은 수익성과 절대적인 성능 미달이라고 생각했기에 범용 코어인 스트림 프로세서로 처리하는 방법으로 고려하고 있었으나 엔비디아 때문에 RT 코어를 사용하는 하드웨어 방식, 스트림 프로세서를 사용하는 GPGPU 방식, 라이젠 CPU을 이용한 소프트웨어 방식 중 하나를 택해야 하는 갈림길에 놓이게 되었다. 2020년에 출시될 9세대 콘솔 게임기인 PS5엑스박스 시리즈 X에 사용될 AMD의 GPU가 하드웨어 레이 트레이싱을 지원하는 RDNA 2 마이크로아키텍처 기반의 커스텀 GPU일 것으로 알려지고, AMD가 최근 GPU 로드맵에서도 RDNA 2 마이크로아키텍처부터 하드웨어 레이 트레이싱을 지원할 예정으로 재차 강조함으로써 레이 트레이싱의 엄청난 요구 연산량을 스트림 프로세서만으로는 감당할 수 없다고 판단한 듯 하다. 다만 RDNA3 들어서도 RT 연산능력은 지포스에비해 뒤떨어지며 이를 FSR3, AFMF으로 어느정도 벌충하고있지만 RT로 유명한 사이버펑크 2077을 비롯한 카메라 움직임이 다소 격렬한게임은 AFMF시 프레임드랍이 다소 심하게 나타난다.[21] 또한 RT게임들은 FSR보다 품질이 우수한 DLSS를 기본 지원하고 DLSS 3.5 이후부터는 광선재구성까지 기본으로 들어가있어 간극이 좁혀지진 않았다.

참고로 레이 트레이싱 전용 ASIC가 도입된 NVIDIA의 지포스 RTX 2080 Ti는 TU102 컷칩이 사용된 그래픽 카드로 754mm2라는 거대한 다이 사이즈로 알려져 있는데, 이전 세대인 GTX 1080 Ti에 사용된 GP102의 471mm2보다 무려 60%나 더 큰 사이즈이다. 한때 RT 코어의 면적 비중이 매우 클지도 모른다는 여론이 있었으나, 실제로는 TU102 풀칩 기준으로 72개의 RT 코어가 차지하는 총 면적이 전체의 겨우 3.8%(28.8mm2) 정도로 생각보다 매우 작다. 2배 증가된 L2 캐시 메모리 용량이 지목된 적이 있었지만 그래봤자 전체의 겨우 11% 남짓으로 비중이 역시 크지 않으며, 없던게 새로 나온 RT 코어와 L2 캐시 메모리의 증가 면적만 합쳐도 9~10% 정도밖에 안 되는 셈이다. 나머지 50%는 CUDA 코어 안에 포함되어 있던 FP32 연산 유닛과 INT32 연산 유닛의 독립화, 텐서 코어의 추가, 내부 L1 캐시 메모리의 증설 등으로 비대해진 GPC가 주 요인일 가능성이 높다.

연산 특화 및 전문가 타겟으로 나온 쿼드로 GP100과 TITAN V가 모두 RT 코어가 없지만 FP64(배정밀도) 부동소수점 연산 코어가 FP32(단정밀도) 부동소수점 연산이 주력인 CUDA 코어의 1/2만큼이나 탑재된 것 때문에 다이 사이즈가 각각 610mm2, 815mm2로 나왔는데, [22] 특히 TITAN V에 사용된 GV100이랑 A100에 사용된 GA100이 포토 마스크가 원샷으로 다이를 만들 수 있는 최대 사이즈인 858mm2 즉, 가공에 필요한 사이즈를 고려하면 사실상 한계에 가까운 빅칩이고,[23] 일반 게이밍용 카드에서는 지포스 20 시리즈가 나오기 전까진 NVIDIA 지포스 GTX 980 Ti에 사용된 GM200과 AMD 라데온 R9 FURY X에 사용된 Fiji가 공정은 2012년 지포스 600 시리즈, 라데온 HD 7000 시리즈부터 적용된 28nm 그대로인데 스펙 상향으로 다이가 점점 커지게 되자 이른바 역대 일반 게이밍용 GPU 중 가장 큰 빅칩으로 소문났던 GPU들이었는데 이들의 면적이 각각 601mm2, 596mm2로 끽해야 600mm2 내외 수준이였다.

GPU 기반 실시간 패스트레이싱/ 레이 트레이싱 퀘이크 2 데모 Raylgun 영상

2019년 1월에 Vulkan API를 이용해서 지포스 RTX 2080 Ti로 1440p 60FPS으로 구동된 영상


2019년 3월에 위의 Q2VKT 버전을 개발한 개발자의 도움으로 NVIDIA가 직접 구현한 영상.

반사, 그림자, 전역 조명 방식 모두 레이 트레이싱을 사용했다고 한다. 연식이 연식인지라 3D 모델의 적은 폴리곤 수에 따른 물체의 낮은 세밀함은 어쩔 수 없지만 광원 처리에 있어서 20여년 전 게임이라고 생각되지 않을 향상된 그래픽을 보여준다.

2020년 3월 17일부터 Vulkan API에서도 레이 트레이싱을 지원하기 시작했다.

레이 트레이싱을 사용한다는 점이 오히려 역효과를 나타내는 부분도 있다. 사이버펑크 2077의 예시 # 빛 산란 효과만 봐도 RT on 쪽은 화면 전체에 필터를 걸어놓은 것처럼 표현하는 반면, RT off 쪽은 그 자체가 광원이 되어서 오히려 과하지 않게 잘 표현하고 있다.

이에 대한 분석으론, 과도한 성능 요구로 기본값에 들어가지 못함으로 인해 생긴 디자인 측면의 문제라는 지적이 있다. RT가 없는 상태를 기본으로 사이버펑크스러운 배경으로 만들고 거기에 RT를 추가로 적용하다보니 상황에 따라선 오히려 너무 화려해 보이는 것이다.

또, 무조건 연산량을 높이고 고품질의 표현을 한다고 아름답게 느껴지는 것은 아니다. 예술적인 만족도에는 전체적인 만듦새도 매우 중요한데, 최근 레이트레이싱을 이용하는 게임의 경우 레이트레이싱 기술을 홍보하기 위해 과도한 양의 반사 물체를 이용하는 경우가 흔하다. 게임사들이 쓸데없이 젖은 표면이나 매끈한 표면을 게임에 집어넣다 보니, 오히려 전체적으로 게임이 단조로워 보이고 번쩍거리는 광원들 때문에 산만함을 느끼기도 한다.
  • 이는 상술한 퀘이크 2마인크래프트 같은 게임들의 레이 트레이싱 만족도가 (화려한 그래픽을 내세우는 AAA급 대작들에 비해) 오히려 높은 점을 잘 설명하는 관점이기도 하다. 현 시점에서 그래픽 사양 요구를 걱정할 게임이 아니기 때문에 걱정없이 RT를 들이부어 그 효과를 제대로 보여줄 수 있다는 것. 반면 AAA급 대작들은 RT on과 off쪽의 그래픽 표현과 최적화를 모두 챙겨야 하는 부담이 있다. 이런 문제 때문인지 레이트레이싱에 신경 쓰는 코어 유저는 특히 유비소프트 게임에 박한 평가#1, #2를 내리기도 하고, 배틀필드 2042가 전작에서 레이트레이싱을 지원했는데 후속작에서 빠지는 AAA 게임 최초의 사례가 될 거란 얘기도 있다#[24]. 물론 이 경우 멀티플레이어 밸런스 문제까지 더해진 게 더 크긴 하지만. 어떻게보면 앞의 둘은 사실상 테크 데모 비슷한 게 된 셈.
  • 그런 측면[25]에서는 GPU 가속 PhysX를 떠올리게 만들기도 하나, 전체 상황을 보면 전혀 다르다고 할 수 있다. GPU 가속 PhysX 몰락의 최대 원인은, 라데온측 GPU 가속 물리 엔진 개발이 모두 이런저런 이유로 흐지부지되어 GPU 가속 물리 엔진 자체가 게임 콘솔이나 라데온에서 사용 불가능한, 지포스를 장착한 데스크탑 PC에서만 가능한 기술로 고립되었기 때문이다.[26] 반면 레이 트레이싱은 9세대 게임 콘솔들과 라데온에서도 성능이 떨어질 뿐 지원하는 기술이다. 따라서 최악의 경우라도 게임 콘솔이나 라데온에서 감당 가능한 수준의 소극적 RT는 비교적 근시일 내에 보급될 가능성이 높았으며, 실제로 장르특성상 광원이 적은 바이오하자드 빌리지를 시작으로 라데온의 하이엔드에서도 어느정도 감당 가능한 레이트레이싱 게임이 보급되었고 FSR3, AFMF의 등장으로 지포스대비 매우 열악한 RT연산능력을 어느정도 벌충하는데 성공했다. 하지만 RT게임은 기본적으로 DLSS를 지원하여 FG과 AFMF를 중복으로 사용하지않는한[27] 간극이 좁혀지진 않았으며 오버드라이브나 광원과 거울같은 반사체가 매우 많아지는 등 부하가 더걸린다면 AFMF로도 따라잡을수 없을만큼 벌어진다.[28] 거기에 게임에 따라서 지포스 하이엔드의 성능을 요구하는 추가 옵션을 제공하는 식의 흐름은 상황을 조금만 상식적으로 분석해도 쉽게 예측 가능한 사안이다.21년말 기준 사후 분석

참고로 스마트폰에서도 레이트레이싱을 하는 Path Tracer 라는 앱이 있다. 메탈 API를 이용하여 만들어졌으며 8년된 아이폰5s 에서도 부드럽게 구동된다. 그러나 해당 앱에서만 제한적인 구동이 가능하며 PC처럼 게임에서 사용하지는 못한다.[29]

현재 레이 트레이싱을 전용 가속기 없이 구현하는 사례는 많지 않으며 그런 하드웨어가 레이 트레이싱을 구동하지 못하거나 실사용이 불가능한 것은 전체적인 성능이 낮아서가 아니라 가속기가 탑재되지 않았기 때문이다. 전반적으로 GTX 1080 Ti가 RTX 2060보다 훨씬 성능이 높은데 레이 트레이싱 구동 성능은 거의 차이가 없거나 RTX 2060이 압도적으로 앞서는 경우가 많다.

모바일에서도 스냅드래곤 8 Gen 2, 엑시노스 2200, A17 Pro 등등 가속 지원 하드웨어는 나왔으나, 이를 실제로 활용하는 컨텐츠 보급은 엄청 느리게 진행되고 있다. 일례로 워썬더가 레이트레이싱을 지원해 엑시노스 2400RDNA 탑재가 성능 우위로 이어지고 있는데#, 그 외 다른 RT 지원 게임 언급은 없는 상황

이런 이유 등으로 레이 트레이싱 기술은 아직 보급율이 높은 것도 아니고 게임 산업의 미래를 위한 실험일 뿐이라는 평가 절하도 있다.

반면 사이버펑크 2077 업데이트로 패스 트레이싱을 구현한 레이 트레이싱 오버드라이브 모드, DLSS 3.5 업데이트의 광선 재구축을 통한 패스 트레이싱 품질 향상 등 기술 발전도 계속되고 있다.

렌더링용(게임용) 프레임 보간의 등장으로 요구사양은 매우 낮아졌다. 매우 늘어지는 인풋랙과 다소 심한 품질저하 등을 감당할 수만 있다면 2번이고 3번이고[30] 적용하여 프레임을 최대 4배, 8배의 프레임을 뽑아낼 수 있기 때문.[31]

특히 언리얼 엔진 5의 루멘은 상술한 "과도한 성능 요구로 기본값에 들어가지 못함으로 인해 생긴 디자인 측면의 문제"를 해결해줄 것으로 기대된다. 최하옵도 SW 최적화 저품질 레이 트레이싱이라 HW 가속 레이 트레이싱보다 품질과 성능 모두 조금씩 떨어진다는 단점이 있을 뿐, 디자인 측면에선 모두 레이 트레이싱이다보니 옵션 지원에 따른 일관성 문제[32]를 줄여줄 것이다. 이를 본격적으로 활용한 1세대 게임 중에서는 무조건 최하옵으로 고정해놔서 원성을 듣고 있는 게임도 있지만, 벌써부터 HW 가속 레이 트레이싱 ~ 완전한 패스 트레이싱까지 선택 가능한 사례[33]도 있어 앞으로 레이 트레이싱 보급에 큰 힘이 될 것으로 전망된다.
2.1.2.1.1. 패스 트레이싱 (Path Tracing)
디즈니의 패스 트레이싱 가이드
파일:9bfe5d5edf5bc30d.jpg
기존의 레이 트레이싱은 거울이나 유리 등 매끈한 반사 표면에서의 정반사, 굴절만을 추적한다. 하지만 실제 현실에서는 난반사하는 물체끼리도 서로 영향을 주고받는다. 예를 들어 현실에서는 빨간 벽지 옆에 새하얀 물체를 놓는다면 그 물체는 벽지의 영향을 받아 조금 빨갛게 보인다. 이를 Color Bleeding이라 하는데, 기존 레이 트레이싱에서는 빛의 정반사와 굴절만을 추적하기 때문에 이를 재현할 수 없다. 또한 현실에서는 간접 조명 효과도 있다. 조명을 벽을 향하게 켰더라도 빛이 벽에 부딪혀 반사되면서 방 전체가 좀 더 밝아지고 그림자의 패턴이 복잡해진다.[34] 하지만 레이 트레이싱은 정반사만을 시뮬레이션하기 때문에 이러한 효과를 제대로 재현할 수 없다. 패스 트레이싱은 기존 레이 트레이싱의 이러한 한계를 극복하고자 만들어졌다. 레이 트레이싱이나 패스 트레이싱이나 카메라에서부터 광선이 출발해서 추적한다는 점은 동일하다.

난반사까지 전부 계산해야 하다보니 기존 레이 트레이싱보다 훨씬 높은 연산력이 필요하다. 현재 각종 게임들이 지원하는 정반사 레이 트레이싱조차도 원본 해상도에서 돌리기에는 하드웨어 성능이 부족하기 때문에 낮은 해상도에서 제한적으로 구현한 뒤에 인공지능으로 뻥튀기, 합성하여 화면을 만들어내는 방식인데 패스 트레이싱은 어림도 없는 실정이다. 다만 게임 자체 요구 사양이 낮은 마인크래프트의 몇몇 셰이더[35]가 제한적으로 실시간 패스 트레이싱을 구현한 바 있다.

2023년 들어서는 사이버펑크 2077에서 'RT 오버드라이브'라는 이름으로 패스트레이싱 기술을 적용했다. 권장사양은 RTX 3090 또는 4070TI 이상으로 매우 높은데, 그마저도 플레이가 가능한 수준의 프레임을 확보하려면 DLSS 2.0과 3.0 모두를 반드시 켜야 하는 수준이다.[36] 이마저도 픽셀당 두 개의 광선을 이용하고, bounce 횟수도 두 번으로 제한되어 있는 것을# 디노이저로 노이즈를 줄여서 구현한 것이다.[37]

NVIDIA는 2035년까지 실시간 패스 트레이싱 렌더링을 실현시키겠다고 선언했다. 여기서 말하는 패스 트레이싱은 사이버펑크 2077에서 제한적으로 구현한 수준이 아니라 디노이저를 쓰지 않아도 될 정도로 샘플링 수와 반사 횟수를 수십~수백회 수준으로 늘려도 실시간으로 돌아가는 수준이라고 생각하면 된다.
2.1.2.2. 포톤 매핑 (Photon Mapping)
광원으로부터 광선을 추적하고, 추적한 빛의 데이터를 객체의 표면에 생성된 수 많은 광자(Photon)들에 저장하여 간접광을 구현하는 전역 조명 방식. 카메라가 객체를 비출 때, 해당 광자들이 가진 간접광의 근사치 데이터들이 계산되고 배치된다. 고품질의 이미지를 얻을 수 있으며, 보통 레이트레이싱과 함께 사용하여 효과를 극대화 한다. 이 때 레이트레이싱은 파이널 개더링 (FG)[38] 시 적용되어 결과물을 출력한다.
2.1.2.3. 라디오시티 (Radiosity)
2.1.2.4. VXGI (Voxel Global Illumination)
복셀을 이용한 전역 조명 방식.

2.2. 매핑의 종류

컴퓨터 그래픽 업계에서는 텍스처를 맵이라고 부르는 경우가 많다. 자세한 내용은 텍스처, 매핑 참고.

2.2.1. 텍스처 매핑 (Texture Mapping)

2.2.2. 솔리드 텍스처 매핑 (Solid Texture Mapping)

2.2.3. 범프 매핑 (Bump Mapping)

1978년 제임스 블린이 도입한 방식으로, 텍스처 표면에 요철 효과를 부여한다고 해서 붙여진 이름이기도 하다. 게임에서 노말 매핑이 대중화되기 전까지 사실적인 텍스처 재질감 표현은 거진 범프 매핑으로 구현되었다고 보면 된다.

2.2.4. 노말매핑 (Normal Mapping)

하이폴리곤의 셰이딩을 로우폴리곤에 적용시키기 위한 기법으로, 범프 매핑의 하위 방식이다. 노말 매핑의 노말이 법선 벡터를 따온 용어이기 때문에 법선 매핑이라고도 부른다.

2.2.5. 불투명 매핑 (Opacity Mapping)

알파나 디더링을 통해 반투명, 혹은 투명으로의 애니메이션 구현에 사용되는 기법.

2.2.6. 밉맵 (Mipmap)

여러 해상도의 텍스처를 준비하여 먼 거리에 있을 때는 저해상도의 텍스처를 보여주고 가까이 다가가면 고해상도의 텍스처로 대체하는 방식을 말한다.

2.2.7. 지형 매핑 (Height Mapping)

범프 오프셋 (패럴랙스) 매핑. Height map를 이용해 노말 매핑보다 더욱 깊이감 있게 보이게 하는 기술이다. 지형 제작에 사용된다.

2.2.8. 패럴랙스 오클루전 매핑 (Parallax Occlusion Mapping)

줄여서 POM이라고도 한다. 범프 오프셋 매핑보다 깊이감을 더욱 현실적으로 구현하는 기술이다. 노말 매핑과 범프 오프셋은 사양을 잘 타지 않는 반면, POM은 사양을 많이 탄다. 관련 문서

2.2.9. 디스플레이스먼트 매핑 (Displacement Mapping)

변위 매핑이라고도 부르며, 텍스처 매핑의 끝판왕 격의 기법. 노말 매핑이나 POM처럼 눈속임을 이용하는 다른 매핑과는 다르게 텍스처 내부의 텍셀 데이터 상태에 따라 정점(vertex)의 실제 좌표가 달라져(변위가 발생하여) 폴리곤이 생성되는 특징을 가지고 있다.

정점의 실제 좌표가 변동된 것이므로 시야에 따른 왜곡이 없고 세밀한 그래픽 구현이 가능하다는 장점이 있지만, 없던 폴리곤이 새로 생성되므로 매우 높은 사양을 요구하는 단점이 있다. 단순하고 넓은 면적의 로우폴리곤이 이 기법을 적용한 순간, 면적당 폴리곤의 개수가 많은 하이폴리곤으로 바뀌기 때문.

폴리곤을 쪼개서 정교한 모델을 구현할 수 있는 테셀레이션과 함께 이용하기도 하지만, 요구 사양이 하늘을 찌를만큼 더 높아지기 때문에 당대 극강의 그래픽 퀄리티를 노리는 AAA 게임이 아니면 잘 활용되지 않는다. DirectX 9.0c 시절부터 활용된 기술이지만 2000년대 말까지의 AAA 게임들도 당시 하드웨어 성능의 한계 때문에 변위 매핑과 테셀레이션이 함께 적용된 사례는 드물었으며, 2010년대에 들어서야 본격적으로 많아지기 시작했지만 어디까지나 고퀄리티 그래픽 타겟의 AAA 게임들 한정이고, 그 정도까지 요구하지 않는 중저사양 타겟의 게임들은 여전히 잘 사용되지 않는다.

사실 AAA급 게임들에서도 디테일의 표현이 중요시되는 컷 씬이나 인게임 상의 지형지물 등 일부 오브젝트들에 활용이 한정된다. 활용 예시로 크라이시스 2가 유명하며,[39] 정말로 엄청난 연산 리소스를 잡아먹기 때문에 중저사양 게임들의 적용은 모딩이 아닌 이상 전무하다고 봐도 무방하다. CryEngine 기술로 만들어진 아마존의 Lumberyard에서도 테셀레이션과 디스플레이스먼트 맵 적용을 위해서는 엔진 스캘러빌리티를 Very High로 설정할 것을 권장하고 있다.

2.2.10. 반사 매핑 (Reflection Mapping)

2.2.10.1. 정반사 매핑 (Specular Mapping)
정반사(specular)란 거울처럼 매끈한 면에서 일어나는 반사를 말한다.
2.2.10.2. 큐브 매핑
실시간 렌더링에서 반사를 표현할 때 주로 쓰이며, 텍스처는 6장이 사용되며, 반사될 대상을 상하전후좌우에서 본 것 같은 모양을 하고 있다. 마인크래프트의 블록을 생각하면 편하다. 영문판 위키백과 참조

2.3. 관련 문서

3. 컴퓨터 마크업 언어에서의 의미

마크업 언어가 갖는 특성으로, 작성된 마크업 언어를 엔진이 해석해서 사람의 눈으로 볼 수 있도록 만들어(그려)주는 과정을 ‘렌더링’이라고 한다.
  • 웹페이지는 크게 HTML(웹 페이지 본문), CSS(웹 페이지 디자인), JavaScript(웹 페이지 동적 부분) 세 가지의 컴퓨터 언어로 구성되어 있고 웹 브라우저의 엔진이 이를 해석해서 보여주게 된다.
  • Microsoft Word를 비롯한 Microsoft Office 문서, 한컴오피스 한글을 비롯한 한글과컴퓨터 한컴오피스 문서의 경우도 일정 버전 이상부터는 문서의 내용을 XML 또는 이와 유사한 마크업 언어로 저장하고, 이러한 문서를 다시 불러오게 될 때 렌더링 과정을 거치게 된다.
    이러한 구조를 가진 Microsoft Office, 한컴오피스 한글 문서는 반디집 등을 통해 압축을 해제하여 그 구조를 확인할 수도 있고, 여기에 XML 파일과 문서의 구성요소를 이루는 다른 리소스 등을 확인할 수 있다.
    • Microsoft Office의 경우 2007 버전 이상부터 도입되었는데 이를테면 워드 문서의 확장자가 기존의 *.doc 에서 바뀐 *.docx 확장자가 바로 doc+XML 라는 의미이다. 파워포인트 및 엑셀 등 다른 문서도 동일하다.
    • 한글과컴퓨터 한컴오피스의 경우, 최근 HWPX 포맷이 공개되기 이전부터 이미, 별도의 확장자를 만들진 않았지만 2010 버전부터 알게 모르게 적용하여 사용해오고 있었다. 한쇼 및 한셀 등 다른 문서도 동일하다.
  • 나무위키를 비롯한 위키도 우리가 쉽게 접할 수 있는 마크업 언어의 사례 중 하나다. 우리가 나무위키 문법으로 작성하면, 나무위키 엔진이 이를 해석해서 HTML로 변환하고, 다시 브라우저 엔진이 이를 해석해서 보여주게 된다.

3.1. 관련 문서




[1] 가끔 카메라를 지나치게 가까이 벽이나 캐릭터에 대면 벽이 뚫려 보이거나 캐릭터 안구가 보이는 경우가 있는데 이는 렌더링 영역을 벗어나서 클리핑된 것이다.[2] Ambient Occlusion이나 레이트레이싱이 과정이다.[3] 노말매핑이 바로 이 매핑 중의 하나이다.[4] 대표적으로 Blender.[5] 물론 영화편집시에는 하술될 렌더팜을 구성해 작업하기 때문에 영화 한 편당 반나절정도의 시간에 편집을 마친다. 편집 회의에 따라 변경점도 많고 제작자 컨펌도 받고 해야해서 시간이 중요하다.[6] 게다가 게임은 접근성을 위해 사양 조절도 해야 한다. 부품 능력은 곧 돈으로 나타나기 때문이다. 누구나 Core i9-13900K, RTX 4090를 쓰진 않으니까.[7] 초기에는 수만 프레임을 렌더링하므로 작업량이 많은 애니메이션에서도 이 방식이 쓰였다. 그 당시에는 전역 조명 방식이 너무 느렸기 때문이다. 그러나 하드웨어와 기술이 발전하여 전역 조명 방식이 서서히 도입되기 시작했다.[8] 2016년 기준으로는 그림자를 더 정확히 연산하는 HBAO나, 아예 복셀로 연산하는 셰이더도 있다. 둘 다 SSAO에 비해 더 많은 연산이 필요하며, 복셀 연산은 특히 더 그렇다.[9] 유니티 엔진 - 언리얼 엔진 - 크라이엔진 순이다.[10] 크라이엔진은 자체 API 레이 트레이싱 구현도 지원한다. 즉 GeForce RTX처럼 DirectX Raytracing API를 지원하는 카드가 아니더라도 레이 트레이싱을 구현 시킬 수 있다는 뜻이다.[11] 물론 후처리에 뭔가를 합성한다든지 하는 것들에도 쓸 수 있다. 단 이 얘기는 고정 파이프라인을 쓰던 2000년대 초반까지 일부 연산에만 셰이더를 사용했던 시절의 얘기다. 지금은 OpenGL 이나 DirectX 나 셰이더가 필수가 되어 아예 처음부터 렌더링 파이프라인을 셰이더 코드로 스스로 만들어야 한다. 물론 지금의 대부분의 개발자는 상용 엔진을 쓰므로 실제로 바닥부터 셰이더를 전부 코딩하는 일은 없다.[12] 반투명한 물체에서는 10의 광선 중 5의 광선이 산란되고 5의 광선만 통과하는 등의 변수가 있으며, 산란의 경우 방향이 모두 다르다. 이런 이유로 연산이 적을수록 노이즈가 많다.[13] 2013년 2월에 출시된 케플러 마이크로아키텍처 기반의 지포스 GTX TITAN으로, 당시에는 최강의 성능을 지녔으나 2019년 카드 1장 기준으로는 GTX 970보다 낮은 성능이고, GTX 1080의 절반에 가까운 성능이며, RTX 2080 Ti의 1/3에 가까운 성능이다.[14] 한화로 약 6000만 정도의 가치가 있다고 한다. 테슬라 V100은 RTX3080의 53퍼센트의 성능이다. 4-WAY SLI는 일반적으로 단일 카드 대비 2.7~ 3배 정도의 성능을 낸다. 3080의 1.5배 정도로 볼 수 있으나, 기술 최적화에 따라 직접적으로 비교하기 어려운 부분도 많으니 참고만 하는 것이 좋다.[15] 레이 트레이싱 렌더러가 'FireRays'라는 이름으로 거진 2016년부터 등장했으며, 그 모태는 2008년에도 있었다.[16] NVIDIA 측이 적은 광선 추적량을 커버하기 위할 AI 연산이 필요하므로 텐서 코어가 탑재된 볼타 아키텍처부터 이 기술을 지원한다고 언급했으며, 게이밍 그래픽 카드인 지포스에서는 텐서 코어에다가 레이 트레이싱 전용 가속 장치인 RT 코어까지 탑재된 지포스 RTX 20 시리즈부터 지원한다.[17] TITAN V의 경우에는 먼저 나온 테슬라 V100과 같은 볼타 마이크로아키텍처 기반의 그래픽카드로써 텐서 코어를 통해 고속 AI 연산을 지원한다. EA사의 SEED 프로젝트 또한 TITAN V 3장을 이용해서 렌더링한 것이다.[18] 장면에 따라서 마야 등에서 장면을 여는 데만 몇 십 분이 걸리기도 한다.[19] 정확히는 전체 CG 씬의 가속 등이 아닌, 작중 등장하는 캐릭터인 'K-2SO'의 렌더링 과정 전체와 등장 씬들에 언리얼 엔진이 사용되었다. 레이 트레이싱이 적용된 리얼타임 CG로 구현되어 결과물 체크 등을 위한 렌더링 타임을 절약했고, 이는 촬영 과정 중의 이터레이션을 크게 줄인 것으로 알려져 있다.[20] 그간 테셀레이션을 이용해서 재미를 보았지만 이젠 한계까지 왔다는 관측이 많다. 그래서 어느 정도 중급에서도 높은 프레임이 나올 만큼 성능이 올라갔기에 사용자에겐 새로운 그래픽 카드를 구입할 이유가 적어졌기 때문이다.[21] 사이버펑크 2077의 경우 곧 인게임 내에서 처리되는 게임의 데이터를 온전히 알고 처리하는 프레임 보간방식인 FSR 3를 정식지원할 예정이기때문에 인풋랙등에 둔감한데 RT쓰면서 프레임 뽕뽑고 싶은 게 아니라면 AFMF를 사용할 필요가 없다.[22] 쿼드로 GP100과 같은 체급인 지포스 GTX 1080 Ti에 사용된 GP102는 FP64 연산 코어가 CUDA 코어의 1/32로 비중이 매우 작아서 다이 사이즈가 471mm2로 면적이 GP100 대비 크게 감소되었다.[23] HBM 계열을 이용한 GPU는 무려 1000mm2이 넘는 인터포저 사이즈까지 고려해야 해서, 어차피 858mm2가 한계인 포토 마스크로는 원샷이 불가능한 사이즈이다.[24] 발매 후 확인된 결과 아예 뺀 건 아니지만 Raytracing Ambient Occlusion만 쓰는 식으로 대폭 축소되었다#.[25] "과도한 성능 요구로 기본값에 들어가지 못함으로 인해 생긴 디자인 측면의 문제"[26] 현재는 전체 오픈 소스로 공개되어 있긴 하나, 원래는 GPU 가속 부분만 빼고 공개했다가 채택 신작이 거의 없어지는 등 완전히 망한 이후에 전체 공개로 바꾼 거다.[27] 이것도 상술했듯 인풋랙 등에 둔감한데 프레임 뽕 뽑고 싶은 용도가 아니라면 FG과 동시사용할 필요가없다.[28] 거기에 AFMF의 경우 시점 변화가 격렬한 게임에서는 프레임드랍이 심하게 일어난다.[29] 애초에 PC에서도 720p 화질의 게임에서 레이트레이싱을 사용하려면 상당히 고사양의 그래픽 카드가 필요한데 저사양 PC 게임 정도 스펙의 게임들도(대표적으로 원신) 버거워하는 현재의 스마트폰들이 레이트레이싱을 이용하려면 시간이 꽤 걸린다.[30] 게임 자체 FG,lossless scaling과 같은 외부프로그램 FG, AFMF와 같은 인드라이버 기능.[31] 지포스 20보다도 못한 RT연산능력을 지닌 RX 6950 XT의 경우 FSR 2.1품질+AFMF 인게임 및 드라이버 최상옵에서 RT 오버드라이브시 FHD에서 무려 60~80프레임이 가능하다. 단 FSR 3.0을 지원한다면 프레임생성을 중복해서 사용시 지연시간도 배로 늘어나고 이미지품질 하락도 더 커져서 인풋랙과 프레임에 매우 둔감한데 RT를 쓰면서도 프레임 뽕을 뽑고 싶은 게 아닌 이상 AFMF 사용을 권장하지 않는다.[32] 상술한 사펑 RT 호불호 사례처럼 RT가 없는 상태를 기본으로 사이버펑크스러운 배경으로 만들고 거기에 RT를 추가로 적용하다보니 상황에 따라선 오히려 너무 화려해 보이는 문제, 비슷하게 기존의 RT 지원 AAA급 대작들은 RT on과 off 쪽의 그래픽 표현과 최적화를 모두 챙겨야 하는 부담이 있다.[33] 게임 자체에서 옵션을 선택 가능하거나, 사제 DLL 모딩으로 설정을 바꿀 수 있는 사례가 있다.[34] 현실 세계에서 그림자의 경계면이 칼로 자른 듯 또렷하지 않고 흐릿하게 보이는 이유 중 하나가 이것으로, 빛은 광원 방향으로부터만 오는 것이 아니라 간접 조명 효과에 의해 사방팔방에서 날아오기 때문이다. 패스 트레이싱은 이러한 효과까지 구현하므로 그림자도 더 현실적이다.[35] SEUS PTGI, KappaPT[36] RTX 4090 4K 해상도 기준 DLSS 2와 3을 동시에 켜야 60프레임이 나오며, 둘 모두를 끄면 2-30프레임이 나온다.[37] 영화에서 쓰는 패스 트레이싱은 픽셀 당 최소 수백 개이상의 광선을 쓰고 bounce의 허용 횟수도 상당히 높다. 각종 영화의 3D 렌더링을 위해서 어마어마한 사양의 워크스테이션들을 사용하는 것이 이 때문이다.[38] 포톤 맵에 의한 간접광과, 광원으로부터의 직접광에 기인한 빛 정보 데이터들을 모으는 GI 작업의 최종 데이터 수집 과정[39] 물론 크라이시스 2에 적용된 테셀레이션은 플레이어가 잘 눈에 띄지 않는 곳까지 불필요하게 적용해서 테셀레이션 성능이 라데온보다 높은 지포스를 일부러 밀어주려는 게 아니냐는 의혹이 있었다. 안 그래도 DirectX 11 초기에는 테셀레이션을 지원하는 게임들의 그래픽 카드 성능을 비교할 때 테셀레이션이 비활성화된 옵션 기준의 성능 비교를 메인으로 두고, 테셀레이션까지 모두 적용된 풀옵션 기준의 성능 비교를 번외 자료로 취급했었다.