물리 기반 렌더링

덤프버전 :

분류


1. 개요
2. 특징
3. 두가지 PBR 방식의 워크플로우 비교
4. 오해
4.1. 노멀 매핑과의 관계
4.2. 레이 트레이싱과의 관계
5. 예시
5.1. 사용한 엔진과 게임들



1. 개요[편집]


물리 기반 렌더링(Physically Based Rendering, PBR) 또는 물리 기반 셰이딩(Physically Based Shading, PBS)은 표면의 재질에 따른 빛의 반사가 물리적으로 어떻게 이루어지는지를 시뮬레이션해서 그래픽을 표현하는 기법이다.


2. 특징[편집]


기본적으로 물체는 고유의 색을 가지고 있다. 그리고 현실에서는 극히 제한적인 경우를 제외하면 빛에 의하여 난반사(Diffuse)정반사(Specular)라는 현상이 일어나는데, 정반사는 빛이 매끄러운 표면에서 평행하게 반사되는 현상이고 반대로 난반사는 빛이 표면에서 평행하게 반사되는 것이 아니라 흐뜨려져 반사될 때 나타나는 현상이다.

여기서 입사광이 흰색이라는 전제하에 보통 정반사가 일어나는 표면은 색을 잃어 흰색으로 빛이 맺혀지기 마련인데, 특별히 금속의 경우는 정반사에서 기본색을 유지한다. 그리고 물체의 거칠기(Roughness)에 따라 정반사와 난반사의 비율이 바뀌는데, 보통 표면이 거칠수록 난반사의 비율이 커지고 반대로 표면이 매끄러울수록(Glossness) 정반사의 비율이 커진다.

여기까지가 사실상 PBR의 원리이자 핵심이다.[1] 즉 정반사와 난반사를 구체적으로 어떻게 계산하느냐에 따라 표면의 특성이 정해진다는 것을 이용한 재질 렌더링 방식을 PBR이라고 부른다.[2]

여기서 이 정반사와 난반사를 표현하는 방식에 따라 여러 방식의 워크플로우가 존재하는데 보통은 Metallic/Roughness와 Specular/Glossness라는 2가지 방식을 따른다. 이 둘에 대한 비교는 후술하겠다.

추가적으로 Specular/Glossness 방식에 대한 오해가 만연해 있는데, 사실 CG계에 PBR이란 개념이 구체적으로 등장하기 이전에도 스페큘러와 디퓨즈를 기반으로 한 매핑 방식은 존재했었다. 때문에 스페큘러 방식을 PBR이 아닌 레거시 렌더링이라고 구별하는 경우가 종종 있다. 이런 오해가 생긴 배경에 대해 설명하자면 당시 게임엔진에서는 메탈릭 기반 PBR의 Roughness에 해당하는 Glossness를 지원하지 않았기에 정반사와 난반사를 원하는 대로 조정하기가 쉽지 않아 디퓨즈맵에 있어서는 안 될 양감과 음영을 손으로 그려 넣고는 하였다(...). 이러한 방식은 당연하지만 PBR에 맞지 않으며 이는 게임엔진이 지원하던 셰이더의 문제였지 스페큘러 워크플로우의 문제는 아니었고 당시에도 이미 레이트레이싱 기반 오프라인 렌더러들은 지원하고 있었다. 현재 레거시 방식이라 언급되는 것은 스페큘러 워크플로우를 말하는 게 아니라 손맵이라는 방식을 의미한다.

즉, Metallic/Roughness 등장 초창기인 2010년대 초반에는 Metallic/Roughness을 물리기반 렌더링/셰이딩(Physically Based Rendering/Shading)이라고 부르며, 기존 Specular/Glossness 방식을 고전적 렌더링(Lagacy Rendering)이라고 구분했"었"다. 그러나 원래부터 Specular/Glossness 방식도 물리적 현상에 기반하고 있었고, Metallic/Roughness 방식은 "조금 더" 물리적 현상에 기반한 연산을 수행하지만, 그렇다고 정말로 현실의 물리 현상을 그대로 따르는 것도 아니었기 때문에, 나중에는 Specular/Glossness 방식과 Metallic/Roughness 방식, 두가지 모두 물리 기반 렌더링으로 부르게 되었고, 고전적 렌더링(레거시 렌더링)이라고 함은, 빛의 물리적 현상을 전혀 고려하지 않고, 텍스처에 음영과 반사광을 직접 그려 넣은 것을 의미하게 되었다. 현대에 와서는 PBR 구분 방법은 주로, Specular/Glossness 방식은 비실사 지향 물리 기반 렌더링(Non-Photorealistic orient PBR)이라고 부르며, Metallic/Roughness 방식은 실사 물리 기반 렌더링(Photorealistic orient PBR)이라고 부르기도 한다.

기존의 Specular/Glossness 방식만 지원하는 엔진에 Metallic/Roughness 방식 지원을 추가하는 일은 셰이더 효과 하나 추가하는 정도로 간단히 이루어진다. 언리얼 엔진, 유니티 엔진, 크라이엔진, 프로스트바이트 엔진 같은 유명 게임 엔진들의 최신 버전에서는 Metallic/Roughness 방식도 당연히 지원하고 있으며 최신 게임들의 그래픽 역시 Metallic/Roughness 방식을 활용해서 개발되는 추세다. Metallic/Roughness 방식이 기존의 Specular/Glossness 방식으로 작업하던 그래픽 디자이너들에게는 생소하게 낯선 개념일 뿐 익숙해지면 오히려 Specular/Glossness 방식보다 간결하며 그래픽 리소스를 줄이면서도 Specular/Glossness 방식보다 더욱 사실적인 그래픽 구현이 가능하고 최적화에도 더 용이한 편이다.


3. 두가지 PBR 방식의 워크플로우 비교[편집]


두 가지의 PBR 워크플로우를 간단히 비교하자면 다음과 같다.

구분
Specular/Glossiness
Metallic/Roughness
재질의 기본색
난반사(Diffuse) 텍스처
기본색(Base Color) 텍스처
재질의 반사광
정반사(Specular) 텍스처 (또는 값)
금속성(Metallic) 값
재질의 거칠기
매끄러운 정도(Glossiness) 텍스처 (또는 값)
거칠기(Roughness) 텍스처 (또는 값)

1. 빛은 재질의 표면에 흡수되어 해당 표면이 가진 색의 파장만을 다시 반사 시키는 데 이것을 난반사광 (Diffuse Lighting)이라고 한다.

스페큘러에서는 디퓨즈, 메탈릭에서는 베이스 컬러 혹은 알베도(Albedo)가 서로를 대응하며 기본적인 역할은 메탈릭의 알베도와 동일하다. 다만 금속성 재질의 경우 메탈릭 워크플로우에서는 금속의 색을 베이스 컬러에서 같이 취급하지만 스페큘러 워크플로우에서는 디퓨즈맵에서 금속의 색을 취급하지 않기 때문에 금속 부분은 검은색으로 통일된다.

2. 모든 표면은 색을 나타내는 난반사 외에도 빛을 받는 위치와 각도에 따라 어느 정도 빛 자체를 반사하며 이것을 정반사광(Specular Lighting)이라고 한다.

메탈릭 워크플로우에서는 해당 재질이 금속이냐 아니냐를 값으로 따지면 1과 0, 이미지맵으로는 흰색과 검은색으로 결정하는 Metallic이란 맵이 존재한다. 현실에서는 금속과 비금속으로 나누어지기 때문에[3] 당연하지만 중간값은 원칙적으로 허용해서는 안 되나 한 재질 안에 금속과 비금속이 같이 존재하여 서로 붙어있는 경우, 혹은 비금속이지만 일반적인 반사광으로는 표현이 힘든 재질을 표현하기 위해 임의로 메탈릭을 올려야만 하는 경우[4]를 위해 어쩔 수 없이 중간값을 남겨두고 있다.
반면 스페큘러 워크플로우에서는 금속 재질의 특성이 정반사에서 본연의 색을 유지한다는 원리에 기반하기 때문에 만약 금속 재질에 색이 존재한다면 정반사(스페큘러) 맵에 색을 지정하게 된다. 그리고 모든 물체는 스페큘러를 띠고 있기 때문에 기본적으로 어두운 회색을 유지한다.

3. 모든 표면은 거칠기(Roughness)를 가지고 있으며 거칠기 정도에 따라 표면의 반사 정도가 반비례하는 데 거칠지 않고 매끈할수록 마치 거울과 같은 전반사(Total Reflection) 성질을 띠며 표면이 거칠수록 그 반사의 선명한 정도가 줄어든다.

PBR에서는 표면의 거칠기 정도에 따라 해당 표면의 정반사성을 결정한다. 여기서 각 워크플로우에 따라 Roughness와 Glossiness로 구별되는데 사실 용어를 직역해보면 알겠지만 그냥 서로 반대되는 값을 가지고 있을 뿐 원리는 똑같다. 막말로 Glossiness맵을 포토샵에서 색 반전을 시키면 그대로 Roughness맵에 적용할 수 있다. 공통적으로 꼭 지켜야 할 부분은 Roughness와 Glossiness 둘 다 완전한 검은색이나 완전한 흰색은 존재하지 않는다는 점이다

이상 위의 3가지가 기본적인 재질에 대한 빛의 물리적 반사 현상을 시뮬레이션하는 가장 기본적인 부분이 변경된 것으로서 재질의 질감에 관련된 핵심 요소다.

각 방식에는 장단점이 존재하는데, 메탈릭 워크플로우는 기본적으로 메탈이냐 아니냐를 구별하기 때문에 다소 애매한 구석이 있는 스페큘러에 비해 접근이 쉽지만 소위 말하는 메탈릭 엣지라는 현상이 발생하게 된다. 메탈릭 엣지란 금속과 비금속이 겹쳐지는 부분에 뚜렷한 라인이 생기는 현상인데, 아무리 이미지에서 금속과 비금속의 영역이 칼같이 딱 맞아떨어지더라도 이미지 내부 보간이 발생하면 존재해서는 안 될 중간값이 발생해 버리고 이 중간값에 의해 해당 현상이 일어난다. 해결 방법은 금속인 부분과 그렇지 않은 부분을 완전히 분리하는 방법이랑 이미지 해상도를 무식하게 키워내는 방법, 혹은 금속과 비금속이 접하는 부분에 블러를 적용하여 금속과 비금속 사이를 자연스럽게 이어나가는 방법이 있다.

스페큘러 워크플로우는 금속이냐 아니냐라는 엄격한 구분을 짓는 것이 아니기 때문에 해당 문제에서 자유로우며 메탈릭에 비해 상대적으로 금속의 색을 컨트롤하기가 쉽고 심지어 정반사와 난반사가 다른 재질도 구현이 가능하다. 하지만 금속이냐 아니냐로 구별하는 메탈릭 방식에 비해 직관성이 떨어지며 다루어야 할 채널 수도 더 많기 때문에 접근성도 떨어진다.

이 외에도 발광(Emissive), 불투명도(Opacity), 표면하산란(Subsurface Scattering), 굴절(Refraction), 왜곡(Distortion), 알베도(Albedo), 프레넬(Fresnel) 같은 기법도 추가로 들어갈 수 있으나 이것들은 두가지 방식의 PBR 워크플로우에 모두 적용 가능한 것들이며 단지 부가적인 효과를 주는 요소들일 뿐이다.[5]


4. 오해[편집]



4.1. 노멀 매핑과의 관계[편집]


물리 기반 렌더링이 노멀 매핑보다 발전된 기법이라고 잘못 알려진 경우가 있으나, 노멀 매핑과 물리 기반 렌더링은 전혀 다른 별개의 분야다.

노멀매핑은 노멀맵 및 범프맵 텍스처와 픽셀 단위 라이팅을 이용해 하이폴리곤 효과를 로우폴리곤에서 볼 수 있도록 한 기법이며, 물리 기반 렌더링은 레거시 렌더링에서 표면의 재질감을 손으로 음영을 텍스처에 직접 그려 양감을 표시하는 손맵 방식에서 알고리즘 방식으로 대체하는 기술이다.

노멀매핑은 하이폴리곤의 음영을 로우폴리곤에 입히기 위한 기술이다. 이는 단지 로우폴리곤으로 만들어진 저퀄리티의 표면을 하이폴리곤과 동일한 고퀄리티의 표면처럼 라이팅에 반응하게 만들어 줘서 디테일을 올려주는 역할일 뿐, 레거시 렌더링에서 물리 기반 렌더링으로 전환되는 재질 셰이딩의 대체와는 전혀 무관하다.

노멀 매핑 외에도 하이트맵을 이용해 이미지를 왜곡해서 시각에 따라 텍스처에 입체감을 주는 시차 매핑(Parallax Mapping)이나 시차 가려짐 매핑(Parallax Occlusion Mapping) 역시 레거시 렌더링 기법이 물리 기반 렌더링으로 대체되는 것과는 전혀 관계가 없는 별개의 기술이다.

노멀 매핑, 시차 매핑, 시차 가려짐 매핑 등은 물리 기반 렌더링과 동시에 사용 가능하며, 최신 게임들에서도 당연히 둘 다 동시에 사용되고 있다.


4.2. 레이 트레이싱과의 관계[편집]


노멀매핑과 물리 기반 렌더링의 관계처럼 물리 기반 렌더링보다 더 발전된 개념이 레이 트레이싱이라고 잘못 알려진 경우도 있다.

레이 트레이싱은 단어의 뜻 그대로 광선을 추적하는 기법이며 광원에서 뻗어나온 빛이 표면에 닿는 대로 여러 번 반사해서 글로벌 일루미네이션을 비롯한 다양한 효과를 만들 수 있다. 레이 트레이싱을 사용하지 않는 현대의 실시간 그래픽에서는 별도의 계산으로 그림자를 만들어주지만 레이트레이싱을 사용한다면 빛이 닿지 않는 부분이 곧 그림자가 되므로 별도의 계산을 통해 그림자를 만들어 줄 필요가 없다. 그 외에도 현대 실시간 그래픽에서 표현하는 여러 가지 효과들을 조금 더 실제 빛의 반사효과와 비슷한 방식으로 구현도 가능하며 레이 트레이싱을 통해 여러 가지 효과를 만드는 것을 패스 트레이싱(Path Tracing)이라고 부른다.

하지만 위에서 언급된 노멀매핑과의 관계처럼 머티리얼이 레거시 렌더링에서 물리 기반 렌더링으로 전환되는 것과는 전혀 무관한 별개의 분야다. 레스터라이저(레이 트레이싱이 아닌 기존의 라이팅)에서 레이 트레이싱으로 전환되는 것은 라이팅의 동작 기법에 관한 것이고, 레거시 렌더링에서 물리 기반 렌더링으로 전환되는 것은 라이팅에 반응하는 표면의 재질을 결정하는 기법이다. 즉, "PBR보다 발전된 방식이 레이 트레이싱이다."라는 말은 완전히 틀린 말이다.

물론 성능이 무한대라면 광선 추적만으로 모든 재질을 표현할 수도 있다. 그럴 경우 텍스처를 기반으로 재질을 만들어내는 현대의 렌더링 기법이 완전히 사라지고 지오메트리를 매우 작게(모니터의 픽셀보다 훨씬 더 작게) 쪼개거나, 또는 복셀을 초고밀도(이 역시 모니터의 픽셀보다 훨씬 더 작게)로 만들거나, 아니면 전혀 다른 방식으로 예를 들어 원자 단위 등으로 3D 그래픽 구현한 다음 그 모니터의 픽셀보다 작은 각각의 표면(또는 원자 단위 등)마다 빛을 어떤 각도로, 어떤 파장을, 어떤 성질의 얼마나 반사할지의 정보를 모두 담고 있어야 한다. 하지만 이것은 애초에 말도 안 되는 발상이기 때문에 언급할 가치도 없다.

물리 기반 렌더링과 레이 트레이싱은 동시에 쓰일 수 있으며, 최신 3D 그래픽 렌더링에서는 당연히 둘 다 동시에 쓰인다. 결론적으로 물리 기반 렌더링, 노멀 매핑, 레이 트레이싱은 서로 완전히 별개 분야의 기술이며 셋 다 동시에 사용된다.


5. 예시[편집]


다음의 그림들은 언리얼 엔진 4에서 물리 기반 렌더링을 이용해 구현한 재질로 몇 가지의 예시를 보여준다.

파일:external/cdn2.unrealengine.com/roughness01-1060x1060-28365060.png
거칠기(Roughness)에 반비례한 전반사의 정도가 표현되는 것으로, 왼쪽 바닥 타일은 거칠기가 전혀 없는 표면이고 오른쪽 바닥 타일은 거칠기가 매우 강한 표면이다.

파일:external/cdn2.unrealengine.com/physicshadingheader-770x250-996585692.png
구형의 물체로 거칠기(Roughness)를 표현한 것으로, 왼쪽은 거칠기 값을 0.1, 중간은 0.5, 오른쪽은 0.9로 준 것이다.

파일:external/cdn2.unrealengine.com/metalness01-600x300-694626521.png
구형의 물체로 금속성(Metallic)에 따른 정반사의 정도를 표현한 것으로, 왼쪽은 금속성이 없는 표면이고 오른쪽은 완전 금속성인 표면이다.


5.1. 사용한 엔진과 게임들[편집]


구분
엔진[6]
게임
Legacy Rendering (고전적 렌더링/손맵)
id Tech 2
퀘이크 1, 퀘이크 2 및 해당 엔진 기반 게임들, 골드 소스 엔진(하프라이프 및 해당 엔진 기반 게임들)
언리얼 엔진 1
해당 엔진 기반 게임들[7]
id Tech 3
퀘이크 3 및 해당 엔진 기반 게임들
시리어스 엔진 1
시리어스 샘 1 및 해당 엔진 기반 게임들
언리얼 엔진 2
해당 엔진 기반 게임들[8]
리스텍/주피터 엔진
쇼고, 블러드 2, 서든 어택, 블랙샷, 크로스파이어 등 해당 엔진 기반 게임들
언리얼 엔진 3
해당 엔진 기반 게임들
유니티 모든 버전 [9]
유니티 엔진을 사용하는 수 많은 게임들 중에는 고전적 렌더링을 지향하는 게임들도 있다.
언리얼 엔진 4/5 이후 버전[10]
언리얼 엔진을 사용하는 수 많은 게임들 중에는 고전적 렌더링을 지향하는 게임들도 있다.
그 외 2000년대 초반 시점 대부분의 엔진들
해당 엔진 기반 게임들
Specular/Glossness PBR
헤일로 1/2/3/4/리치 엔진
헤일로 1/2/3/4/리치, 스텁스 오브 좀비[11]
언리얼 엔진 2
언리얼 챔피언쉽 2, 라이선시 작품은 스플린터 셀 3/4/5/6, 바이오쇼크 1/2, 트라이브스 벤젠스, 스와트 4, 브라더스 인 암스 1/2, 스타워즈 리퍼블릭 코만도, 뱅가드 사가 오브 히어로즈 등 해당 엔진 기반 게임들
크라이 엔진 1
파 크라이 1 및 해당 엔진 기반 게임들
id Tech 4
둠 3 및 해당 엔진 기반 게임들
소스 엔진
하프라이프 2 및 해당 엔진 기반 게임들
리스텍/주피터 EX 엔진
피어 및 해당 엔진 기반 게임들
언리얼 엔진 3
기어스 오브 워 1/2/3/저지먼트 및 언리얼 토너먼트 3, 수 백개의 라이선시 작품들
크라이 엔진 2/3 기반 게임들
크라이시스 2/3 및 해당 엔진 기반 게임들
시리어스 엔진 2/3/3.5
시리어스 샘 2/3/HD 리메이크
id Tech 5
레이지 및 해당 엔진 기반 게임들
유니티 3.x ~ 4.x
해당 엔진 기반 게임들
언리얼 엔진 4/5 이후 버전[12]
해당 엔진 기반 게임들
2000년대 중반부터 2010년대 초반 시점 대부분의 엔진들
해당 엔진 기반 게임들
Metallic/Roughness PBR
언리얼 엔진 3[13]
배트맨 아캄 나이트, 엑스컴 2/키메라 스쿼드, 킬링 플로어 2, 아웃라스트 2, 라이징 스톰 2, 인저스티스 2, 모탈컴뱃 X/11, 로스트 아크, 아스텔리아, 엘리온 등
크라이엔진 3.8/5[14]
해당 엔진 기반 게임들
언리얼 엔진 4/5 이후 버전[15]
해당 엔진 기반 게임들 수천 작품
유니티 5 이후 버전[16]
해당 엔진 기반 게임들
시리어스 엔진 4
탈로스 프린시플, 시리어스 샘 4
헤일로 5/인피니트
헤일로 5/인피니트
id Tech 6/7
둠 2016 및 해당 엔진 기반 게임들, 둠 이터널
그 외 2010년대 중반 시점 이후 대부분의 엔진
해당 엔진 기반 게임들
파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-28 19:46:13에 나무위키 물리 기반 렌더링 문서에서 가져왔습니다.

[1] 사실 이는 설명이 매우 부족한데, 빛에 대한 물리적인 현상을 좀 더 자세히 이해하려면 지나치게 내용이 길어지기 때문에 해당 사이트에 있는 청강대학교의 정종필 교수가 작성한 PPT를 참고하기 바란다.[2] 물리기반렌더링이란 의미를 재질에만 단정 짓지 않고 모델링, 조명 등 모든 영역에 걸쳐 물리적으로 완벽한 렌더링이란 의미로 사용하는 경우도 있다. 이러한 경우에서는 문서에서 설명하는 내용을 PBS(물리기반셰이더)라고 칭한다.[3] 엄연히 따지자면 금속과 비금속 사이에 있는 준금속이란 물질이 있긴 하다.[4] 대표적으로 다이아몬드가 있다.[5] 유니티 엔진의 경우에는 워크플로우와 관계없이 Smoothness라는 명칭의 맵을 사용하기도 한다.[6] 나열 순서는 엔진의 공개 또는 사용이 가능한 버전의 배포일자, 해당 엔진을 사용한 첫 게임이 출시된 순이며, 엔진이 버전별로 다른 경우를 제외하고 시리즈가 연속으로 기재될 경우는 뒤의 시리즈 순서는 무시한다.[7] 마개조 거친 듀크 뉴켐 포에버 제외, 듀크 뉴켐 포에버는 Specular/Glossness 기반이다.[8] 엔진 등장 초기의 게임들은 고전적 렌더링이지만, 언리얼 엔진 2는 Specular/Glossness 기반 렌더링을 지원하기 때문에, Specular/Glossness 기반 렌더링을 구현한 게임들도 많이 출시되었다. 이 엔진을 사용한 본가의 언리얼 시리즈인 언리얼 토너먼트 2003/2004, 언리얼 챔피언십 1, 언리얼 2는 고전적 렌더링이며, 언리얼 챔피언십 2는 Specular/Glossness 기반 렌더링이다. 이 엔진을 사용한 대표적 게임 시리즈 중 하나인 스플린터 셀 시리즈 중 1, 2는 고전적 렌더링, 3 이후 작품은 Specular/Glossness 렌더링이다. 이 엔진을 마개조한 데이어스 엑스 2와 시프 3는 둠 3와 동일한 노멀맵과 스텐실 섀도우를 사용했으나 아쉽게도(?) 언리얼 엔진 2에 Specular/Glossness을 추가한 시점인 build 829보다 이전 버전인 build 777을 기반으로 마개조한 탓에 정반사광(스펙큘러)가 존재하지 않아서 고전적 렌더링에 해당된다. 스펙큘러가 있긴 있으나 빛의 각도와 시점에 따른 물리적 현상이 고려되지 않은, 환경맵을 이용한 가짜 스펙큘러다.[9] 1.x ~ 2.x 버전은 고전적 렌더링만 지원, 3.x ~ 4.x 버전은 Specular/Glossness 방식 지원, 5.x 버전부터는 Metallic/Roughness 방식도 지원한다.[10] 다양성을 위해 고전적 렌더링 방식도 지원한다.[11] 헤일로 1 엔진으로 개발된 게임이다.[12] 언리얼 엔진 4는 Metallic/Roughness를 표방 및 강조하며 등장했으나, 버전업 하면서 기존 Specular/Glossness도 여전히 지원한다. 광범위한 지원을 위해 실사 지향과 비실사 지향 렌더링을 모두 소화하고, 아티스트의 자율성과 다양성 및 편의성을 보장하기 위해서다. 게임의 특성과 아트의 지향점 및 추구하는 바전에 따라 Specular/Glossness 방식을 사용할지, Metallic/Roughness 방식을 사용할지 결정하면 된다.[13] 언리얼 엔진 3는 원래 Specular/Glossness 방식만 지원하지만, 언리얼 엔진 3에 Metallic/Roughness 방식 지원을 추가하는 것은 간단하므로, 2010년 중반대 이후에 언리얼 엔진 3 기반으로 출시한 게임들은 Metallic/Roughness를 사용했다.[14] 라이즈 선 오브 롬에 사용된 버전이 3.6이다. 엔진은 버전 넘버링을 없애고 CRYENGINE으로 발표했었으나 엔진의 버전 넘버는 실제로 3.6이었으며, 이후 3.8까지 업데이트가 됐다가 4.x 버전대 넘버링을 건너뛰고 갑자기 5.0으로 넘버링을 올렸다.[15] 언리얼 엔진 4는 기본적으로 Metallic/Roughness 방식의 렌더링을 지향하며 언리얼 엔진 4를 사용한 거의 모든 실사 그래픽 지향 게임들이 Metallic/Roughness 방식을 사용한다. 버전업 하면서 Metallic/Roughness 방식의 알고리즘이 지속 개선되고 있다. 5.0 버전 이후도 같은 기반의 엔진이므로 버전업하며 여러가지 알고리즘이 개선되고 있다.[16] 유니티 5 버전은 Metallic/Roughness 방식의 렌더링을 표방하고 공개했다.