니시카와젠지의 3 d 게임 팬을 위한 ps4

Post on 12-Jul-2015

1.153 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

니시카와젠지의 3D 게임 팬을 위한

「 플레이 스테이션 4」그래픽스」강

좌이민웅

Shader Study

PS4 성능• PS3의 약 8배!

• PS4 의 코어 프로세서– AMD의 APU

• APU란「Accelerated Processing Unit」의 약자로 소비전력과 퍼포먼스의 밸런스를 제일 중시하여 설계된 CPU와 GPU를 1개의칩으로 집약시킨 통합형 프로세서

– AMD가 2013년 내의 릴리즈 예정인 노트북용 APU인 28nm제조 공정의 프로세스인「Kabini」코어 세대의 테크놀로지를 베이스로 한 커스텀 APU

– CPU는 Jaguar 64비트 8코어• 클럭은 2GHz 전후로 생각

PS4에서 채택된 APU는 Kabini 세대와 같은 세대

PC용인 것과는 스펙이 다르다

PS4의 CPU는 Kabini 세대의 APU로 채택된 Jaguar 코어 세대 인 것

PS4 성능• Jagular 코어는 전력대 성능 효율 부분을 중점으로 맞춘 설계이며, 고 클럭에

서의 동작은 가정되어 있지 않기 때문

• GPU는 같은 AMD의 신세대 GPU코어 아키텍처「Graphics Core Next」(GCN)를 채택

• GPU는 GCN이 컴퓨트 유닛(Compute Unit, 이하CU)18기 구성으로 되어있다라고 발표

• GCN Compute Unit은 1기당 32bit 부동소수점 스칼라 프로세서(Stream Processor,이하 SP)를– 16기당 하나의 그룹으로 해서 4개의 그룹을 내포하는 구조

– PS4의 APU 전체에서는 16기 x 4그룹 x 18CU =1,152기의 SP를 탑재

• SP의 갯수가 1,152기 라고 하면 동 세대 GCN 코어의– AMD RADEON 7850(SP=1,024기)와 RADEON 7870 (SP=1,280기)의 중간 스펙

이라는 것.

– RADEON 7970는 SP=2,048기

PS4에서 채택된 것

[GCN Compute Unit]를 2개 제거

AMD RADEOsN HD7870

블록 다이어 그램。

PS4 성능• GPU의 성능은 1.84TFLOPS

– (1.84 TFLOPS÷2)÷1152=약 800MHz

• 메모리 용량 8GB GDDR5– CPU와 GPU가 공유하는 형태

– UMA(Unified Memory Architecture)구성

• 메모리 버스폭은 비공개– 대략 256비트로 가정하

– 메모리 대역 176GB/s

– 176GB/s÷(256bit÷8)=5.5GHz

PS3에 비해 어느정도의 그래픽스

성능 향상이 있는가• PS3의 그래픽스 성능 1.8TFLOPS = PS4 의 그래픽스 성능 1.84TFLOPS

– 거의 진화가 없었다고 할수있음

– Xbox 360과의 성능값 경합 끝에 마케팅 측에서 매우 부풀린 값

• PS3– PS3의 GPU인 RSX의 베이스 아키텍처는 NVIDIA의 GPU、GeForce 7800 GTX

– VS 8기, PS 24기, VS에는 4way SIMD연산기가 1기, PS에는 4way SIMD연산기가 2기 탑재

– 각 SIMD 연산기는 1클럭당 곱합연산(2ops)이 가능

– RSX의 동작 클럭이 500MHz였던 것을 가정

– VS:(4SIMD×2ops)×8기×500MHz=32 GFLOPS

– PS:(4SIMD×2ops×2기)×24기×500MHz=192 GFLOPS

– 32 GFLOPS + 192 GFLOPS = 224GFLOPS

• PS3와 PS4의 성능비교– 1.84TFLOPS÷0.224TFLOPS=약8.2

– PS3의 그래픽스 메모리 성능 22.4GB/s 176GB/s÷22.4=약7.9

• 그래픽스 성능과 같이 약 8배 정도 향샹

PS4 에서 CELL 프로세서가 버려진 이유

• CELL 프로세서– 다른 분야에 장점을 가진 아키텍처의 프로세서를 1칩으로 집약화

한이중혼합형 멀티 코어 프로세서

– 소니, 도시바, IBM 3사연합으로 개발

– 아키텍처의 진화에 소극적이었음

– 2010년에 개발 동결• 인텔이 개발하고 있었던 CPU×GPU의 하이브리드 프로세서「Larrabee」

의 개발 동결 큰 원인

– GPGPU솔루션의 진화• 그래픽스 렌더링을 처리하는 프로세서인 GPU에 범용 목적(General

Purpose) 연산을 수행하게 하는 새로운 소프트웨어 패러다임

• 「ComputeShader」,「OpenCL」

1씬당 수천만 폴리곤 시대로

• PS4는 GPU로써 RADEON HD7800계열GPU를 채택

• DirectX 11.1 세대의 GPU로, SM5.0 그래픽스 아키텍처

– PS3는 NVIDIA GeForce 7800 GTX 베이스

– DirectX 9.0 세대 SM3.0호환의 그래픽스 아키텍처를 채택

1씬당 수천만 폴리곤 시대로• GPGPU를 적극적으로 활용

– 「KNACK」은 주인공 캐릭터가 몇백, 몇천이라는 오브젝트를 몸에 두르고 있어 그것들을 리얼타임으로 변형시켜 공격/방어를 하는 액션 게임인데, 무수히 많은 오브젝트 각각의 충돌판정, 운동의제어까지 GPGPU에서 수행하고 있을 가능성이 매우 높음

• PS3(DirectX 9 세대)와 PS4(DirectX 11.1세대)의 사이– GPU 퍼포먼스가 8배(필자 추측)향상 된 것부터 베이스의 표현이

한번에 상향

– 일반유저에게 체감하기 쉬운 폴리곤 수로 말하면, PS4 세대의 대작 게임은 씬당 수천만 폴리곤을 넘어설것이다 라고 예상• PS1: 수만폴리곤 PS2:수십만폴리곤 PS3:수백만폴리곤

【KNACK】

주역 캐릭터는 무수히 많은 3D 오브젝트를 몸에 두르고 싸운다。

무수히 많은 3D 오브젝트에는 대국 물리 시뮬레이션이 적용

HAVOK의 물리 시뮬레이션 기술데모

가 PS4 개발기기 상에서 리얼타임으

로 동작하고 있는 모습이 공개

GPGPU Havok의 대국 물리 시뮬레이

션。

1프레임당 수천만 폴리곤 시대로

• 씬당 수천만 폴리곤이 되면 영상용 CG나 프리렌더무비의 지오메트리 밀도와 동등하다 라는 것

• 하이엔드 PC용 GPU로는 이미 당연한 퍼포먼스가되어있기에 놀랄만한 것은 아님

• 스퀘어 ・에닉스의 게임엔진「Luminous Studio」기술 데모에서는 씬당 수천만 폴리곤을 넘어선 수준으로 되어있으며 1프레임당 약 1,000만 폴리곤을리얼타임으로 렌더링

【「Agni's Philosophy」의 와이어 프레임 】

「Agni's Philosophy」• 「Agni's Philosophy」는 스퀘어・에닉스의 프리 렌더 무비팀

비쥬얼 워크스가 프리 렌더 무비를 만들어 리얼타임 환경으로이식하는 형태로 개발이 진행된 데모

• 개발 스탭에 의하면 실제 리얼타임 판(≒PS4판)의 Agni's Philosophy 에서는 등장하는 모든 3D모델을 프리렌더판에 있는 지오메트리 밀도를 그대로 가져와서 사용했다는것

• 대량의 폴리곤 3D 모델의 디자인을 PS4 그래픽스 파이프라인에서는 테셀레이션 스테이지를 활용함으로써 대응을 할 수 있었음– 개발/디자인 단계에서는 런타임에서 하이 폴리곤으로 생산한다라

것 (테셀레이션 스테이지 활용)

「Agni's Philosophy」

この

PS4 실시간랜더링

Killzone Shadow Fall

캐릭터 표현 품질의 향상• 인물 표현의 진화

– 「Agni's Philosophy」의 캐릭터 표현

– 안면이나 피부의 표현은 PS3 세대와는 비교가 되지 않을 정도로 진화

• 인간의 피부는 반투명 재질의 피부가 여러 계층으로 겹쳐있는 구조

• 피부에 닿은 입사광 중에 피부의 지질에서 약 6%가 정반사하고, 나머지 94%는 피하에 투과하여 산란하고, 게다가 다시 표피로부터 방출

• 94%의 현상을 피하산란(Subskin Scattering)이라고 부르며 이 개념을 일반화한 현상을 표면하산란(Subsurface Scattering)

【피하 산란의 개념】

캐릭터 표현 품질의 향상

• 표면하산란은 3D 게임 그래픽스에서 리얼타임으로 구현하는 것이 어려움

– PS4에서는 GPU의 진화뿐 아니라 셰이더 기술에 진화도 같이되어 구현이 가능하게 된 것

• Agni's Philosophy가 채택하고 있는 이 표면하산란 구현 기법

– Screen Space Subsurface Scattering(SSSS)

「반사율 확산 프로파일」

(Reflectance Diffusion Profile)• 인간의 피부에 백색광을 비추었을때 피부에서부터 배어 나오

는 빛의 분포와 백색광을 비춘 점에서 바깥 방향을 향해 RGB 3원색의 농담분포를 사전에 획득해놓는다。– SSSS에서는 우선 피부에 대해서 PS3 세대에서도 극히 일반적으

로 사용되었던 보통의 확산반사 라이팅을 수행

• 렌더링 결과를 RDP에서 제곱연산(畳み込み演算)을 수행하도록 해서 뭉갠다。

• 렌더링 결과를 똑같이 뭉개버리면 부자연스러우므로 시점에서봤을때 가까운 위치는 크게 뭉개고, 먼 위치는 작게 뭉개는 듯한 형태의 처리를 수행

• 멀고 가까움을 판별하는데에는 깊이 버퍼의 내용을 참조

「반사율 확산 프로파일」

(Reflectance Diffusion Profile)

RDP 를 2차원 평면으로 가시화한 그림

대충 어두운 곳에서 자신의 피부를

백색 LED를 비출때에도 이러한 색 분포로 피부가 빛남하나의 광선을 피부에 수직으로 조사(照射)했을 때에

그 조사점(照射点)으로부터의 반경 r에서는 어떤색의 빛이

어느 정도의 밝기가 되어 있는지를 구해서 계측(計測)

【「Agni's Philosophy」의

SSSS】

SSSS Off。

피부가 마른 느낌

SSSS On。

피부가 촉촉한 지성에 느낌과

투명감이 느껴짐

Screen Sapce Subsurface Scattering

• 포토샵등의 소프트웨어에서 가우시안 필터를 적용하는 듯한 영상 처리 감각으로 표면하산란을 구현한 것– “Screen Sapce” Subsurface Scattering

• 화면 좌표계(Screen Space)에서 표면하 산란을 표현하는데에 있어서, 화면내에 캐릭터가 10명이 있든, 100명이 있든 거의 같은 부하로 표면하 산란을적용시킬수 있다는 점

• EPIC GAMES의「Unreal Engine4」에서도 사용

【「Unreal Engine4」의 SSSS 데

모】

피부가 아닌 비취나 호박같은 광석의 질감표현この写真の記事へ

PS4 타이틀로 개발중인「inFAMOUS: Second Son」

PS4 게임 그래픽스에서는 이정도 레벨에 피부 표현이 당연시 될 것

캐릭터 표현 품질의 향상

• 머리카락의 표현도 크게 진화

– PS3에서는 리트머스 종이같은 것이 두피에 박힌 것 같은 머리카락의 표현이던가 혹은 단발헤어가 주류

– PS4에서는 비쥬얼 계열 뮤지션같은 길고 짧은머리카락이 뒤섞여 있는 듯한 헤어 스타일이나, 애초에 표현이 어려웠던「머리형태」의 표현도 진화

【마네킹으로 머리형태를 재현

「Agni's Philosophy」는 아티스트가 그린 이미지 일러스트를 바탕으로 프로 헤어 메이크 아티스트가

실제 마네킹을 가지고 해당 머리 형태를 재현하는 작업이 수행

この写真の記事へ

【 런타임상에서 재현된 주인공 Agni의 머리형태】

그래픽스 파이프라인

• PS4의 GPU는 DirectX 11.1세대 SM5.0 아키텍처가 베이스

• PS3의 GPU가 DirectX 9.0세대SM3.0아키텍처

– 2세대 사이에서 GPU의 렌더링 파이프라인이 크게 진화

• PS3 세대의 그래픽스 파이프라인

– VS,PS 두가지 셰이더만 존재

PS3、Xbox 360세대의 그래픽스 파이프라인

PS3

PS3、Xbox 360으로 대표되는 DirectX 9/SM3.0 세대의 그래픽스 파이프라인。

그래픽스 파이프라인• 지오메트리 셰이더

– 폴리곤(프리미티브) 개수의 조절、생성및 삭제등을 제어할수 있는

• 테셀레이션 스테이지– 폴리곤(프리미티브)의 분할 과 변형등의 처리

• ComputeShader(GPGPU) – GPU를 그래픽스 렌더링 이외의 용도로 사용

• 참고로 닌텐도의 Wii U는 DirectX 10.1 세대의 RADEON HD4000계열 GPU가 채택– 지오메트리 셰이더까지 구현

– GPGPU를 호환하고 있지만 아직 한정적

【Wii U 세대의 그래픽스 파이프라인】

Wii U로 대표되는 DirectX 10/SM4.0 세대의 그래픽스 파이프라인。

【PS4 세대의 그래픽스 파이프라인】

PS4(Xbox One)로 대표되는 DirectX 11/SM5.0 세대의 그래픽스 파이프라인。

그래픽스 파이프라인• 지오메트리 셰이더, 테셀레이션 스테이지, ComputeShader같

은 새로운 셰이더가 PC에서는 이미 실용화 하였지만 PC보다는 콘솔 플랫폼에 맞춰 개발을 해야하기 때문에 아주 조금만 사용하는 실정이었음

• PS3、Xbox 360과 같은 DirectX 9 세대 SM3.0 아키텍처의 그래픽스 파이프라인의 활용을 주축으로 해서 설정되어있기 때문

• PS4(XboxOne)이후에서는 새로운 셰이더가 당연시하게 쓰이게 되었기에 게임 개발기술의 진화가 가속화 될 것

• 차세데 게임엔진에서는 새로운 셰이더의 적극활용을 구현하기시작

GPU 파티클시스템에 의한 100만개

이상의 파티클 표현• 유체물리 시뮬레이션(물, 불꽃,연기)을 적용한 수만개의 파티

클에 구현– 움직임의 계산과 갱신을 CPU측에서 실행

– 렌더링 처리에 대한 지시를 GPU측으로 전달

• PS4세대에서는 지오메트리 셰이더를 사용– 파티클 시스템을 CPU 손을 빌리지 않고 거의 GPU만으로 처리

– ComputeShader에서 처리• 픽셀 셰이더를 이용하는 경우도 있음

– CPU의 동작과는 완전 비동기로 대량의 파티클 제어가 가능

Epic Games의 Unreal Engine4의 데모에서는 역장을 주어

100만개의 파티클을 개별로 움직이는 모습

테셀레이션 스테이지 활용에 의해 구현

되는 고품격 표현과 새로운 표현• 테셀레이션 스테이지

– 헐 셰이더• 폴리곤 분할 계획을 담당

– 테셀레이터• 설계된 계획에 따라 폴리

곤을 분할

– 도메인 셰이더• 테셀레이터가 분할한 폴리

곤을 변이 시키는 역할을담당

테셀레이션 스테이지 활용에 의해 구현

되는 고품격 표현과 새로운 표현• 테셀레이션 스테이지의 활용방법

– LOD(Level of Detail)시스템을 GPU에서 계산하는 방법

– 시점으로부터 거리에 따라 단계 없이 자동적으로 폴리곤 분할을수행하는 것이 가능• LOD 활용을 구현하려면 런타임시의 단계없는 폴리곤 분할을 가정한 테

셀레이션 제어점의 설정이나 방식을 3D모델 제작시부터 만들어야 할 필요가 있다 ( 기존의 3D모델 제작방법이 바뀌어야 함)

• LOD란– 시점으로부터 가까울수록 클로즈업되는 3D모델을 많은 폴리곤으

로 표현

– 시점으로부터 멀수록 작게 렌더링되는 3D모델을 적은수의 폴리곤으로 표현

테셀레이션 스테이지 활용에 의해 구현

되는 고품격 표현과 새로운 표현• DirectX 11 GPU가 탑재될 것이므로 테셀레이션 스테이지를 전

제로하여 컨텐츠 파이프라인을 구축해도 문제 없을 것

• 테셀레이션 스테이지가 적극 활용되지 못했던 또 다른 이유중의 하나는 특허 문제

• Catmull-Clark 기법의 관련 특허를 가지고 있는 픽사 스튜디오– 영상작품의 경우 Catmull-Clark 기법을 사용한 영상이 작중에 포

함되는 것에는 어떠한 문제도 없다

– 게임의 경우 런타임에 Catmull-Clark기법과 관련한 프로그램 코드가 포함되기 때문에 특허에 저촉됨

「Geri's Game」에서。Catmull-Clark 기법을 채택한

픽사의 최초 CG 애니메이션 작품

테셀레이션 스테이지 활용에 의해 구현

되는 고품격 표현과 새로운 표현• 픽사는 2012년 여름, 라이센스 프리로 선언

• 게임업계를 포함하여 자유롭게 사용할수 있도록 발표

• 리얼 타임에서 고속으로 동작하는 Catmull-Clark 기법의 프로그램 코드를 모두에게 발표해서 제공하려고 하는 오픈 소스 프로젝트「OpenSubdiv」도 개시

• Catmull-Clark 기법이 게임에도 이용하기 쉽게 되었다라는 것

• Catmull-Clark– 높은 정밀도를 기반한 고 품질의 테셀레이션 기법

– 많은 3DCG 소프트(DCC툴)이 서포트 하고 있음

– CG 업계 표준의 테셀레이션 기법

– 경량판(軽量版)도 존재하는데 Catmull-Clark 곡면을 베지어 패치로 근사하는 Approximating Catmull-Clark(ACC) 기법

픽사는 Catmull-Clark 기법의 관련 특허를 라이센스 프리로 발표

Catmull-Clark 기법을 다양한 플랫폼에서 구현하기 위한 오픈 소스 프로젝트「OpenSubdiv」

【캡콤의 차세대 게임엔진「Panta

Rhei」】

• 캡콤의 차세대 게임엔진「Panta Rhei」

– 테셀레이션 스테이지를 높은 수준으로 활용한

게임엔진

– Approximating Catmull-Clark(ACC) 기법사용• http://research.microsoft.com/en-us/um/people/cloop/accTOG.pdf

– 「deep down」도 개발중

캠콤의 차세대 게임 Panta Rhei Engine : deep down

캠콤의 차세대 게임 Panta Rhei Engine : deep down

테셀레이션 스테이지 활용에 의해 구현

되는 고품격 표현과 새로운 표현• 도메인 셰이더

– 분할된 폴리곤 모델을 변이(変移)시키는 처리계를 담당

– 변위량을 텍스처에서 줄수 있다.• 예를들어 인체 캐릭터의 기본형태에 대해서 몬스터 형태의 변

위 텍스처를 주어 몬스터 모델링

• 일반적인 인간형태의 변위 텍스처를 주어 인간 모델로 하는것도 가능

• 혹은 인간형태 변위텍스처로부터 몬스터 형태 변위텍스처로점점 변화하도록 도메인 셰이더를 사용한다면 인간으로부터몬스터로 변신하는 모핑표현도 할 수 있음

동일한 러프모델에 대해서 다른 테셀레이션을 처리하여

다른 변이(変移) 텍스처에서 디테일을 준다면

다른 캐릭터의 모델 표현도 가능

테셀레이션 스테이지 활용에 의해 구현

되는 고품격 표현과 새로운 표현• 모발 표현에도 이용할 수 있음

• 폴리곤뿐만 아니라 선분을 다루는 것도 가능하기에 선분에서 주어진 머리카락을 필요한 정밀도로 분할하여곡면화하는것도 가능

• 선분을 다룰때에 사용할 수 있는 특별한 모드「IsolineTessellation」도 모발표현에 사용할수 있다。

• Isoline Tesselation– 주어진 선분에 일정 거리 사이를 띠고 그 선분을 복제하는

등치선(Isoline)을 생성하는 것이기에 이것을 응용하여 1개의 머리카락을 여러개로 늘릴수 있는 것

【DirectX 11 세대의 테셀레이션】

GPU에서 이용할수 있는 테셀레이션 패턴

입력된 선분으로부터 등치선을 생성하는

Iso line Tessellation은 모발표현에서 사용가능할수 있다

【「Agni's Philosophy」의 모발 처리】

감사합니다

http://blog.naver.com/sorkelf/40189817907

http://blog.naver.com/sorkelf/40190757674

top related