KR101527545B1 - 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법 - Google Patents

휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법 Download PDF

Info

Publication number
KR101527545B1
KR101527545B1 KR1020140023062A KR20140023062A KR101527545B1 KR 101527545 B1 KR101527545 B1 KR 101527545B1 KR 1020140023062 A KR1020140023062 A KR 1020140023062A KR 20140023062 A KR20140023062 A KR 20140023062A KR 101527545 B1 KR101527545 B1 KR 101527545B1
Authority
KR
South Korea
Prior art keywords
light
scattering
color
rendering
model
Prior art date
Application number
KR1020140023062A
Other languages
English (en)
Inventor
진성아
이원선
김승도
Original Assignee
성결대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성결대학교 산학협력단 filed Critical 성결대학교 산학협력단
Priority to KR1020140023062A priority Critical patent/KR101527545B1/ko
Application granted granted Critical
Publication of KR101527545B1 publication Critical patent/KR101527545B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법이 개시된다.
그 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법은 분광 측색계를 사용하여 측정한 굴절율을 이용하여 확산 Fresnel 반사광을 구한 뒤 광학 파라미터를 구하는 단계; 광학 파라미터를 제1단계 컬러모델인 SSS 색상 모델에 적용하여 재질 고유의 색상이 생성되게 하는 단계; 제2단계 SSS 및 엘리먼트에서 표면 하 산란에 필요한 구성요소들과 재질들의 속성이 재질의 표면 하 산란의 효과와 색상 및 광원의 색상에 의해 결정되는 경면광과 혼합하여 최종 색상을 생성하는 단계; 최종 색상에 텍스쳐 매핑을 더하여 카메라에 보이는 SSS 스킨을 생성하는 단계를 포함한다.

Description

휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법{Method for real-time rendering subsurface scattering for portable device}
본 발명은 렌더링에 관한 것으로서, 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법에 관한 것이다.
스마트 폰 대중화에 따른 애플리케이션(Application)의 확산 추세에 맞춰 스마트 폰 사용자들에게 좀 더 나은 그래픽 수준을 제공하기 위한 모바일 환경에서의 광학특성을 고려한 사실적이며 실시간 렌더링을 지원하는 기술이 필요하다.
본 발명이 해결하고자 하는 과제는 스마트 폰을 비롯한 휴대 단말기에서 실시간 게임 플레이를 가능하게 하는, 휴대 단말기용 게임을 위한 서브 서피스 스캐터링(subsurface scattering, 이하 SSS 라 한다) 렌더링 방법을 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법은, 분광 측색계를 사용하여 측정한 굴절율을 이용하여 확산 Fresnel 반사광을 구한 뒤 광학 파라미터를 구하는 단계; 상기 광학 파라미터를 제1단계 컬러모델인 SSS 색상 모델에 적용하여 재질 고유의 색상이 생성되게 하는 단계; 제2단계 SSS 및 엘리먼트에서 표면 하 산란에 필요한 구성요소들과 재질들의 속성이 재질의 표면 하 산란의 효과와 색상 및 광원의 색상에 의해 결정되는 경면광과 혼합하여 최종 색상을 생성하는 단계; 상기 최종 색상에 텍스쳐 매핑을 더하여 카메라에 보이는 SSS 스킨을 생성하는 단계를 포함한다.
본 발명에 의한 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법에 의하면, 스마트 폰을 비롯한 휴대 단말기에서 실시간 게임 플레이를 가능하다. 또한 스마트 폰에 실시간 렌더링이 가능하게 하며 이를 기반으로 모바일 컨텐츠 분야에서 그래픽이 향상되게 한다.
도 1은 스마트 폰 게임용 SSS 실시간 렌더링 기술 개발에 대한 개념도를 보여준다.
도 2는 BRDF를 나타내는 도면이다.
도 3은 BSSRDF를 나타내는 도면이다.
도 4는 피부기관의 구조를 나타낸 것이다.
도 5는 OSS 모델을 도식화 한 것을 나타낸 것이다.
도 6은 Wire-frame vertex를 나타낸 것이다.
도 7은 최적화 그림과 재질의 SSS로 인한 렌더링 결과를 나타낸 것이다.
도 8은 본 발명의 실시예에 의한 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법을 흐름도로 나타낸 것이다.
도 9는 OSS 방법론(methodology)를 나타낸 것이다.
도 10은 실제 피부를 나타낸 것이다.
도 11은 블렌딩(blending) 효과의 범위를 나타낸 것이다.
도 12는 각각의 렌더링 모델을 모바일 상에 적용시킨 것을 나타낸 것이다.
도 13은 본 발명의 실시예에서 결과적으로 나온 OSS 모델을 적용시킨 게임속의 화면을 나타낸 것이다.
이하, 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 발명의 실시예는 Subsurface Scattering 렌더링 기술을 스마트 폰에 실시간 렌더링이 가능하도록 적용시키고, 이를 기반으로 모바일 컨텐츠 분야에서 그래픽이 향상되게 한다.
도 1은 스마트 폰 게임용 SSS 실시간 렌더링 기술 개발에 대한 개념도를 보여주는 것으로서, SSS 렌더링 기술과 실시간 렌더링 기술과 이를 이용하여 구현하는 단계로 진행될 수 있다. SSS 렌더링 기술을 통해 스마트폰에서 실시간 구현 가능한 렌더링기술을 완성하여 최종적으로 기술이 적용된 시제품 게임을 개발할 수 있다.
렌더링 기술에는 BRDF와 BSSRDF를 포함한다. 도 2는 BRDF를 나타내는 도면이다. 도 2에 나타나 있는 바와 같이, BRDF(Bidirectional Reflectance Distribution Function)란 양 방향 반사 분포 함수이며, 입사와 반사 방향에 따라 함수 값이 달라지기 때문에 양방향 함수라고 부른다. 일반적으로 빛이 표면에서 어떻게 반사되는지를 나타내는 공식이며 빛이 반사되는 정도는 표면의 방향과 탄젠트(tangent) 값에 비례하는 시점과 빛의 위치에 따라 달라진다.
도 3은 BSSRDF (Bidirectional Scattering Surface Reflection Distribution Function)란 양방향 산란 표면 반사 분포 함수로서, 입사 및 반사 지점이 동일한 표면반사를 표현하는 BRDF보다 더 복잡한 고차원 함수로서, 표면 아래에서의 빛의 산란에 의한 입·반사지점간의 빛 전달 현상을 기술한 8차원 함수이다.
상기 BRDF는 빛이 같은 점에서 같은 입출이 된다는 가정 하에 만들어졌기 때문에 상기 BSSRDF를 근사화한 방정식이다. BSSRDF를 적용하면 반투명성을 지닌 물체를 표현 할 수 있을 뿐만 아니라 사람의 피부를 더욱 사실적으로 표현할 수 있게 된다. 도 3에 나타나 있는 바와 같이, 사람의 피부는 투과, 산란 및 반사가 복합적으로 일어나는 다층의 반투명성 물질이기 때문에 빛의 산란 현상까지 계산하는 BSSRDF를 적용시키기 좋은 재질이다.
한편, 사람의 피부를 표현하려면 피부의 고유한 특성을 잘 살려야 하며, 피부는 실제로 주변의 여러 광원에 의하여 빛을 흡수·산란·반사하기 때문에 이를 기반으로 하는 SSS (Subsurface scattering) 렌더링을 사용하는 것이 필요하다.
도 4는 피부기관의 구조를 나타낸 것이다. 도 4를 참조하면, 피부는 크게 외부에 직접적으로 접촉하는 표피(Epidermis), 표피의 아래층에서 피부 전체의 90%를 차지하고 있는 진피(Dermis), 그리고 하피(Hypodermis)로 이루어져있다.
SSS 효과를 표현할 수 있는 렌더링 모델을 제작하려면 피부의 여러 층을 표현할 수 있는 Multi-Layer 모델을 제작하는 것이 보다 정확하지만, 모바일 단말기에서 셰이더(shader) 구현을 위해서는 진피가 대부분의 피부를 차지한다는 사실을 기반으로 단층으로 근사화하는 가정으로 최적화시키기로 한다.
한편 유니티(Unity)는 CPU와 GPU를 모두 다뤄야 완성도 높은 게임이 나오게 된다. GPU에서는 CPU처럼 가상 머신(virtual machine) 같은 구성이 없기 때문에 셰이더 랩(Shader Lab)이라는 스크립트 언어를 사용한다. Shader Lab에는 세 가지의 셰이더 프로그램이 있는데, 그 중 하나인 Surface 셰이더 프로그램을 사용하게 되면 효과적이고 수월하게 셰이더를 제작할 수 있다. 하지만, 접근성이 용이하지 못하고 고차원적인 구현에서는 한계를 보이기 때문에, 도 5에 도시된 바와 같이, 본 발명에서 사용되는 렌더링 모델의 경우 모두 Vertex fragment 셰이더 프로그램을 사용한다.
메쉬정보(Mesh Information)의 Position, Color, Normal 등 렌더링에 필요한 정보들이 재질(Material)로 전해지고, Mesh Filter와 Mesh Renderer에서 각각 수행되게 된다.
위와 같은 파이프라인 과정을 거치면서 유니티에서 렌더링 패스(Rendering Path)라는 작업 공정을 거쳐서 카메라에 의해서 최종 장면(Scene)이 화면에 나오게 된다.
렌더링 패스(Rendering Path)에 따라 고유한 빛의 계산과 그림자 생성 방식을 제공하며, 이들은 각각 최종 품질과 처리속도가 모두 다르기 때문에, 게임 실행 환경에 가장 적합한 렌더링 패스(Rendering Path)를 선택해야 한다. Deferred Lighting은 물체의 빛에 관련된 여러 정보를 모아 버퍼에 저장하고, 빛의 계산은 나중에 한 번에 수행하는 렌더링 기법이며 반투명 물체의 처리가 힘들고 안티-엘리어싱(anti-aliasing)이 수행되지 못하기 때문에 물체의 표면을 픽셀단위로 계산해 화면의 최종 값을 결정해주는 포워드 라이팅(Forward Lighting) 방식을 사용한다.
렌더링 패스(Rendering Path) 과정에서 물체의 재질을 표현하기 위해 실행되는 프로그램이 셰이더이며, 본 발명의 실시예에서 사용되는 모든 셰이더 코드들은 Cg 언어로 제작할 수 있다..
먼저, BRDF Shader를 설명하기로 한다. 광학현상에 의한 결과를 표현하기 위해서 Ward BRDF 방정식을 이용하여 셰이더를 구현할 수 있다.
수학식 1은 BRDF모델의 빛의 입력 출력을 정의하는 각도
Figure 112014019290246-pat00001
와 표면의 거칠기를 표현하는 인 Tangent
Figure 112014019290246-pat00002
space로 표현한다.
Figure 112014019290246-pat00003
세이터 랩(Shader Lab)을 통하여 조절하는 값을 추가하여 슬라이더 인터페이스에서 Diffuse, Ambient, Specular를 조절할 수 있는 Ward BRDF 모델을 만든다. 최종적인
Figure 112014019290246-pat00004
의 자료 형은 모바일 기기에서의 최적화를 위해 Fixed 형식으로 주어질 수 있다.
다음으로 BSSRDF Shader를 설명하기로 한다. 광학 매개변수(Parameter)들이 물체의 고유 특성을 정확하게 표현하려면 렌더링 방정식이 정확하게 세이더 랩(Shader Lab)에서 구현되어야 한다.
Jensen의 쌍극광원법을 이용한 렌더링 모델이며, 단일 스캐터링(Single Scattering)과 다중 스캐터링(Multiple Scattering)을 모두 표현하는 BSSRDF 방정식은 수학식 2로 이루어질 수 있다. 수학식 2는 빛의 입사 지점과 나가는 지점을 나타내는
Figure 112014019290246-pat00005
, 입사하는 빛과 나가는 빛의 방향벡터
Figure 112014019290246-pat00006
그리고 빛의 입사 지점과 빛이 나가는 점 사이의 거리를 나타내는
Figure 112014019290246-pat00007
와 Fresnel 방정식
Figure 112014019290246-pat00008
을 이용해 표현될 수 있다.
Figure 112014019290246-pat00009
Figure 112014019290246-pat00010
수학식 3은 Diffusion 함수인
Figure 112014019290246-pat00011
항의 식이다.
수학식 3에 사용된 매개변수들은 수학식 4와 같이 전부
Figure 112014019290246-pat00012
Figure 112014019290246-pat00013
에 의해 정리할 수 있다.
Figure 112014019290246-pat00014
정리된 매개변수를 사용하여
Figure 112014019290246-pat00015
항을 코드화시킬 수 있고, 사용자에게 광학 매개변수를 받아서
Figure 112014019290246-pat00016
항의 값을 계산하게 된다. 매개변수 r은 기존의 물체 각 점의 위치 간의 거리를 사용하지 않고 근사화하여 광원의 위치와 물체의 각 점의 위치로 계산한 거리를 이용할 수 있다.
또한 물체의 크기와 빛의 투과분포를 고려하기 위해 거리에 비율을 조절하는 값을 곱하여 제작할 수 있고, 광원마다 빛의 강도가 다르기 때문에 조명의 강도에 의해서 밝기 값을 조정할 수 있게 연동시키는 기능을 추가할 수 있다.
OSS (Our Subsurface Scattering) Shader를 설명하기로 한다. 상기 BSSRDF 모델은 투과가 많이 일어나는 재질을 렌더링하기에는 적합하지만 지나치게 밝고, 블러링(Blurring)이 실제 물체의 특성 보다 과장되게 보인다. 인간의 피부를 렌더링하기에는 BRDF 모델보다 더 좋은 결과가 나오지만 피부 렌더링에는 부족한 점들이 많다. 모델이 지나치게 부드럽게 되어 반투명해 보이고 BRDF 모델보다 긴 연산 수행 시간 등을 해결해야 한다. 특히 스마트폰 환경에서 게임플레이가 가능하기 위해서는 렌더링의 질과 연산시간을 획기적으로 개선할 필요가 있다.
광학 매개변수를 받아서 최종 SSS 색깔을 반환하는 색상 모델을 사용하여 독립된 스크립트를 통해서 색상 값을 받을 수 있다. 수학식 5는 실시간으로 계산하는 SSS 색상 모델에 사용된 방정식이다.
Figure 112014019290246-pat00017
Figure 112014019290246-pat00018
Figure 112014019290246-pat00019
는 각각 감소된 산란계수와 흡수계수이다.
Figure 112014019290246-pat00020
는 역방향에 대한 위상 함수의 통합을 나타내는 Phase함수이다. d 는 깊이이며,
Figure 112014019290246-pat00021
는 아래쪽 경계에서 일어나는 확산 Fresnel 반사광이다.
Figure 112014019290246-pat00022
는 상단 경계에서 일어나는 확산 Fresnel 반사를 나타낸다. 최종 렌더링 색상은 수학식 6에 의해 결정된다.
Figure 112014019290246-pat00023
는 재질의 고유 색깔이며 는 경면광의 색상이다. (확산 계수), (반사 계수) 그리고 (반투명 계수)로 구성된다. 은 빛의 강도를 나타내며 는 모델의 정점으로부터 광원까지의 거리이다. 는 입사광 벡터이고, 는 반사광 벡터이다.
Figure 112014019290246-pat00024
는 앞에서 말한 SSS 색상 모델에 의해서 광학 매개변수를 받아 구해진다.
Figure 112014019290246-pat00025
(확산 계수),
Figure 112014019290246-pat00026
(반사 계수) 그리고
Figure 112014019290246-pat00027
(반투명 계수)와
Figure 112014019290246-pat00028
는 렌더링 결과를 보고 실험을 통해서 최적의 매개변수로 결정한다. 첫 번째 Term은 확산 반사율을 의미하고, 두 번째 Term은 반투명 재질에 대한 표면 효과에 사용되는 Subsurface Scattering Light이다. 마지막 Term은 반사 빛(경면광)을 결정 한다. 도 5는 OSS 모델을 도식화 한 것을 나타낸 것이다.
Smart Phone 적용을 위한 최적화를 설명하기로 한다. 먼저, 유니티 세이더 개발을 설명한다. 상술한 내용에 최적화를 위한 알고리즘 기법들이 섞여있지만, 구체적으로 어떤 기술들을 사용하여 모바일에서의 최적화를 하여 적용하였는지에 대해 기술하려고 한다.
셰이더 구문에 Cg구문이 포함되더라도 유니티가 이를 해석해 GLSL구문으로 자동 변환해준다. 변환 및 손실 율은 거의 없고 IPhone이나 Android 전용으로 개발하려면 GLSL을 사용해도 문제가 되지 않지만, 반대로 GLSL구문으로 작성한 경우는 Cg구문으로 변환되지 않는다. 따라서 멀티 플랫폼을 고려한다면 Cg 언어로 프로그램을 제작해야 하므로 본 연구팀의 렌더링 모델들은 전부 Cg 언어로 제작하였다.
유니티의 셰이더 프로그램 중 Surface 셰이더 프로그램을 사용하여 렌더링 모델을 제작하게 되면 긴 양의 셰이더 코드들을 10배 이상 줄여주며, 프로그래머에게 편리성을 주지만 SSS와 같은 복잡한 연산과 다양한 종류의 광학 현상을 해결하려면 Vertex Fragment 프로그램을 사용하는 것이 더 깊이 있게 접근할 수 있고, 퀄리티가 좋은 포토리얼리즘(Photo Realism)적인 결과를 얻을 수 있다. 따라서 렌더링 모델은 Vertex Fragment 프로그램을 사용하여 제작하는 것이 바람직하다..
게임엔진을 통해서 제작되기 때문에 한 장면(Scene)에 보이게 되는 오브젝트들의 수를 최대한 줄여야 하므로 도 6과 같이 오브젝트를 구성하는 Vertex를 줄여주었다. 도 6은 Wire-frame vertex를 나타낸 것이다.
프로파일러의 렌더링 파트 중 Draw Call의 횟수를 확인할 수 있는데, 이 Draw Call을 최대한 줄여줘야 한다. 드로우 콜은 단순한 Vertex, 오브젝트 혹은 화면 전체가 될 수 있는 것들을 화면에 그리는 요청 횟수이다. 특히 모바일에서 Draw Call은 성능저하의 최대 원인이기 때문에 줄여주어야 한다.
그리고 실시간 최적화 기술을 설명한다. Jensen의 쌍극 광원 법을 이용한 렌더링 모델인 BSSRDF 모델의 경우에 셰이더를 담당하는 GPU의 연산 량을 감소시키기 위해서 Single Scattering을 사용하지 않고 Multiple Scattering만 사용한다. 도 7은 최적화 그림과 재질의 SSS로 인한 렌더링 결과를 나타낸 것이다.
Jensen의 BSSRDF 모델에서 Rd 항 수학식 3의 매개변수에 해당하는 r을 기존의 사용하는 입사지점과 반사지점 사이의 거리 r을 사용하지 않고, 광원과 오브젝트의 Vertex사이의 거리 d로 변화시키고, radiosity에서 가장 많은 연산 량을 요구하는 적분 연산을 일종의 상수의 곱으로 근사화 시켰다.
OSS모델에서도 산란 효과를 주기 위한 매개변수로 BSSRDF 모델에서처럼 거리 d에 비율을 주어서 산란의 분포 적용을 최적화하였다.
또한 게임에서 적용할 경우 게임 Scene에 대해서 확대 축소할 수 있는 고려 사항들을 생각하여 산란 적용치 계수와 빛이 1개 이상일 경우 Light에 대한 가중치를 적용시켜 넣어서 렌더링 결과가 자연스럽게 나올 수 있게 하였다.
도 8은 본 발명의 실시예에 의한 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법을 흐름도로 나타낸 것이다. 도 8을 참조하면, 분광 측색계를 사용하여 측정한 굴절율을 이용하여 확산 Fresnel 반사광을 구한 뒤 광학 파라미터를 구한다.(S800 단계) 상기 광학 파라미터를 제1단계 컬러모델인 SSS 색상 모델에 적용하여 재질 고유의 색상이 생성되게 한다.(S810 단계) 제2단계 SSS 및 엘리먼트에서 표면 하 산란에 필요한 구성요소들과 재질들의 속성이 재질의 표면 하 산란의 효과와 색상 및 광원의 색상에 의해 결정되는 경면광과 혼합하여 최종 색상을 생성한다.(S820 단계) 상기 최종 색상에 텍스쳐 매핑을 더하여 카메라에 보이는 SSS 스킨을 생성한다.(S830 단계)
발명의 실시예에 의한 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법은 상기 광학 파라미터는 확산 Fresnel 반사광을 구한 뒤 상기 확산 Fresnel 반사광을 바탕으로 측정된 값을 BSSRDF 방정식의 확산 함수 Rd(r)항에 대입하여 구할 수 있다. 또한 발명의 실시예에 의한 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법은 광원이 피부에 밀착될 때 피부의 진피 층의 헤모글로빈 성분으로 인해 나오는 붉은 효과를 주는 블렌딩(Blending)방법을 적용하여 렌더링 결과를 도출하는 단계를 더 포함할 수 있다.
상기 렌더링 결과는 셰이더(Shader) 내에서 가중치와 블렌딩 연산을 이용하여 도출할 수도 있다. 그리고 상기 광학 파라미터를 구할 때 사용되는 광원은 점 광원을 사용할 수 있다.
한편, 도 9는 OSS 방법론(methodology)를 나타낸 것이다. 도 9를 참조하면, SSS 렌더링 기술을 게임에 적용시키기 위해서 위와 같은 방법론을 사용한다. 분광 측색계를 사용하여 측정한
Figure 112014019290246-pat00029
값을 사용하여 Fdr구한 뒤, 이를 바탕으로 나온 A 값 측정. 후에 A 값을 BSSRDF 방정식의 Rd(r)항에 대입한 후 미지수인 광학 매개변수를 구하기 위해 Levenberg-Marquardt-Method를 사용하여 커브피팅 한 광학 매개변수를 1st Step Color Model(SSS 색상 모델)에 사용한다. 색상 모델을 통해서 광학 매개변수로 인한 재질 고유의 색상이 나오게 된다.
2nd Step SSS and Elements에서 표면 하 산란에 필요한 구성요소들과 재질들의 속성이 Shader Lab을 이용하여 Subsurface Scatering Color and The sum of the additional elements 단계에서 재질의 표면 하 산란의 효과와 색상, 그리고 광원의 색상에 의해서 결정되는 경면광과 혼합해져 최종적인 색상이 나오게 된다. 마지막으로 텍스쳐 맵핑이 더해져 카메라에 보이는 SSS Skin이 나오게 된다.
본 발명에 의한 렌더링 방법을 조금 더 개량 한 방법으로서 앞에서 설명한 방법론을 그대로 사용하여 파라미터를 뽑아내지만, 피부의 반투명한 특성뿐만 아니라 도 10과 같이 광원을 피부에 밀착시키게 되면 피부의 진피 층의 헤모글로빈 성분으로 인해서 나오는 붉은 효과를 주기 위하여 블렌딩(Blending)방법을 적용하여 최종적으로 렌더링 결과를 도출하였다. 도 10은 실제 피부를 나타낸 것이다.
복수개의 Material을 사용할 수 있지만, 연산 량이 증가되기 때문에, 셰이더(Shader) 내에서 가중치와 블렌딩 연산만으로 최종적인 렌더링 결과를 만들었다.
도 11은 블렌딩(blending) 효과의 범위를 나타낸 것이다. 도 11을 보면 알 수 있듯이 각 거리에 해당하는 에 가중치가 있기 때문에 광학 매개변수에 따른 가중치로 인해서 정규화한 색상 값이 0으로 수렴하거나 1에 수렴하여 두 가지 재질색상의 함유량을 결정하게 된다.
한편, 본 발명의 실시예에 따른 렌더링 결과를 비교하면 다음과 같다. 본 발명의 실시예는 그래픽으로 표현가능한 모든 객체에 대해서 적용가능하다. 하지만 모든 객체에 대해서는 많은 실험이 요구되기에 게임에서 가장 많이 등장하는 사람 캐릭터의 피부를 중심으로 재현하고 검증하였다. 도 12는 각각의 렌더링 모델을 모바일 상에 적용시킨 것을 나타낸 것이다. 좌측 그림은 BRDF 모델을 나타낸 것이고 중간 그림은 BSSRDF 모델을 나타내고, 우측 그림은 OSS 모델을 나타낸 것이다. 광원은 점광원을 사용하였으며, 렌더링된 결과는 모바일로 플랫폼을 전환시킨 상태에서의 캡쳐 화면이다. BRDF 모델은 완전한 불투명성 재질을 띄며, BSSRDF 모델과 OSS모델의 경우 표면하 산란 효과를 반영한 결과로 반투명성 효과를 관찰 할 수 있다.
BRDF 렌더링 결과 플라스틱 같은 느낌을 보이며, BSSRDF 렌더링 결과는 반투명해 보이지만 지나치게 부드러운 모습을 띄고 있다. 흐릿한 블러(Blur)효과로 인해서 인간의 피부를 렌더링하기에는 적합하지 않다고 판단이 되며 OSS 모델의 경우에는 반투명성인 느낌을 가지면서 거리에 대한 비례 상수와 블렌딩 효과 때문에 게임에서 적용시켰을 때 실제 사람의 피부처럼 광원이 가까이 위치해 있을 때 산란 효과는 진피의 헤모글로빈에 의한 붉은 색감의 산란 효과를 보여주고, 광원이 먼 위치에 있을 때 붉은빛의 산란효과는 0에 가깝게 나타나며, 나머지 피부의 색이 대부분을 차지한다.
도 13은 본 발명의 실시예에서 결과적으로 나온 OSS 모델을 적용시킨 게임속의 화면을 나타낸 것이다.
게임에서는 광원이 대체적으로 먼 거리에 위치해 있으며 2개의 광원을 배치하였다. 하나는 오브젝트의 전면부에 위치하여 광범위한 영역을 비추는 점광원이며 나머지 하나의 광원은 같은 양의 영역을 비추며 오브젝트의 뒷부분에 위치해 있는 설정의 게임 화면이다. 광원이 먼 위치에 있기 때문에 산란효과는 0에 가깝고 전체적인 피부 톤의 색상과 적당량의 부드러운 결과를 보여주고 있다.
본 발명의 실시예를 실제 게임에 적용했을 경우, 렌더링 시에 소요되는 GPU 소요 시간을 정량적으로 평가한 내용을 기술하였다. 일반적으로 PC나 콘솔에서 고급 셰이더는 화면에서 가장 큰 비중을 차지하는 객체에 적용된다. 낮은 중요도를 가지고 있는 오브젝트에 고급 셰이더 모델의 적용은 낭비이며, 불필요한 작업의 수를 증가시킨다. 화면에서 가장 큰 비중을 차지하는 캐릭터에만 적용시켰다.
GPU의 연산량 감소를 위해 나머지 요소들은 전부 기본 조명모델을 사용하였다. 본 연구에서 제안한 가설을 검증하기 위하여 Profiler Test를 통해서 확인하였다. 이를 위해 GPU 실행 시간 및 메모리 사용에 대한 알고리즘의 성능을 분석하였다. 샘플 프레임을 캡쳐하기 위해 우리는 세 가지 모델에 대해서 애니메이션을 포함시켜 측정하였다. 십 단계의 프레임은 30프레임마다 피크지점에서 획득하여 이루어진다. GPU의 성능 테스트를 위해, GPU(Ms)와 10프레임을 샘플링한 평균시간을 통하여 실행 시간을 분석하였다. 평균 실행 시간은 각각 BRDF = 0.1435, OSS = 0.1147, BSSRDF = 0.1784으로 나타났다.
Figure 112014019290246-pat00030
표 1은 GPU 실행시간(running times)을 표로 나타낸 것으로서, 실시예는 OSS모델을 나타낸다. 표 1을 보면 알 수 있듯이 OSS 모델보다 BSSRDF 모델과 BRDF 모델이 더 오래 시간이 걸리는 것으로 측정되었다. 세 가지 모델이 실시간으로 아주 잘 작동할 수 있더라도, 본 발명의 실시예에 의한 렌더링 방법을 사용한 렌더링 결과가 훨씬 더 가시적으로 훌륭한 퀄리티를 제공하며, GPU 실행 시간 또한 우수한 결과로 나왔다.
Figure 112014019290246-pat00031
표 2는 메모리 사용량을 나타낸 것으로서, 표2에서 실시예는 OSS모델을 나타낸다. 표 2에서, 메모리 사용량이 게임성능에 영향을 미칠 수 있기 때문에 메모리 사용 테스트를 추가적으로 하였다. 추가 메모리가 사용되는 경우, 보다 긴 접근시간이 요구된다. 특히 모바일 게임은 가능하면 프로그램에서 메모리에 대한 적은 손실을 요구한다. 메모리의 테스트를 위해서, Shader Memory, Skinned Mesh Render, Shader Object, Scene Memory의 기준을 추출하여 측정하였다.
Shader Memory는 퍼포먼스 측정을 위하여 사용한 렌더링 모델에 사용된 메모리 값들이다. Scene Memory는 이런 구성요소들로 복합적으로 이루어져 있다.
이 네 가지 요소 중에서 Shader Memory의 결과 값을 보고 판단할 수 있었다. BSSRDF 모델의 메모리는 28.3(kb), BRDF 모델의 메모리는 23.4(kb) OSS 모델은 24.9(kb)를 사용한다. 이러한 결과들을 유추하였을 때 OSS 모델은 비교한 두 가지 모델의 메모리 사용량과 유사하다는 결론을 내릴 수 있다.
본 발명의 실시예에서 BRDF 모델과 BSSRDF 모델 그리고 게임에 적용시킨 OSS 모델을 효과적으로 모바일에서 적용하는 것이며, 스마트 폰 게임 환경에서 최적화를 위하여 알고리즘적인 개선과 모바일 플랫폼으로 전환하기 위한 도구로서 유니티의 최적화를 이루어낸다.
게임에 적용된 모델의 SSS효과는 우수하게 표현할 수 있을 뿐만 아니라 GPU 실행시간의 경우에 BSSRDF 모델과 BRDF 모델보다 더 빠른 것으로 나타났다, 또한 셰이더에 사용되는 메모리사용량에 있어서 다른 모델들과 유사하며, 게임에 적용하여 실시간으로 적용될 수 있는 것을 확인하였다.
본 발명의 실시예를 재현하고 평가하기 위하여 캐릭터의 피부에 대해 실험할 수 있으며, 이 방법을 확장하면 지금까지 표면 하 산란을 실시간으로 실현할 수 없었던 이전의 모바일 게임들과는 달리 더 현실적인 컴퓨터 그래픽스를 표현할 수 있을 것이다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (5)

  1. 분광 측색계를 사용하여 측정한 굴절율을 이용하여 확산 프레넬(Fresnel) 반사광을 구하고, 상기 프레넬 반사광과 미리 설정된 산란계수 및 흡수계수를 포함하는 광학 파라미터를 생성하는 단계;
    상기 광학 파라미터를 이용하여 재질 고유의 색상을 생성하는 단계;
    상기 재질 고유의 색상과 경면광의 색상을 혼합하여 최종 색상을 생성하는 단계; 및
    상기 최종 색상에 텍스쳐 매핑을 더하여 카메라에 보이는 표면하 산란(subsurface scattering) 스킨을 생성하는 단계를 포함하고,
    상기 재질 고유의 색상은
    재질 표면으로 진입하는 빛의 양이 상기 빛이 재질 속으로 진행하는 깊이에 따라 산란계수와 흡수계수를 적용하여 재질 표면으로 반사되는 양과 표면하 산란(subsurface scattering)으로 진입한 빛 중에서 재질의 아래층에서 반사되면서 상기 깊이에 따라 산란계수와 흡수계수를 적용하여 남은 반사되는 빛의 양에 의해 결정되는 것을 특징으로 하는 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법.
  2. 제1항에 있어서, 상기 광학 파라미터는
    확산 Fresnel 반사광을 구한 뒤 상기 확산 Fresnel 반사광을 바탕으로 측정된 값을 BSSRDF(Bidirectional Scattering Surface Reflection Distribution Function) 방정식의 확산 함수 항에 대입하여 구하는 것을 특징으로 하는 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법.
  3. 제1항에 있어서,
    광원이 피부에 밀착될 때 피부의 진피 층의 헤모글로빈 성분으로 인해 나오는 붉은 효과를 주는 블렌딩(Blending)방법을 적용하여 렌더링 결과를 도출하는 단계를 더 포함하는 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법.
  4. 제3항에 있어서, 상기 렌더링 결과는
    셰이더(Shader) 내에서 가중치와 블렌딩 연산을 이용하여 도출하는 것을 특징으로 하는 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법.
  5. 제1항에 있어서,
    상기 광학 파라미터를 구할 때 사용되는 광원은 점 광원이고,
    상기 재질 고유의 색상은 수학식 5에 의해 결정되며
    [수학식 5]
    Figure 112015024291817-pat00045

    여기서, fd는 재질 고유의 색상, Fdr,t는 재질 상단 경계에서 일어나는 확산 프레넬 반사광, Fdr,b는 재질 하단 경계에서 일어나는 확산 프레넬 반사광,
    Figure 112015024291817-pat00046
    는 산란계수,
    Figure 112015024291817-pat00047
    는 흡수계수, P(g)는 역방향에 대한 위상함수의 통합을 나타내는 phase함수, d는 재질에 빛이 진입하는 깊이를 나타내는 것을 특징으로 하는 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법.
KR1020140023062A 2014-02-27 2014-02-27 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법 KR101527545B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140023062A KR101527545B1 (ko) 2014-02-27 2014-02-27 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140023062A KR101527545B1 (ko) 2014-02-27 2014-02-27 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법

Publications (1)

Publication Number Publication Date
KR101527545B1 true KR101527545B1 (ko) 2015-06-11

Family

ID=53503220

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140023062A KR101527545B1 (ko) 2014-02-27 2014-02-27 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법

Country Status (1)

Country Link
KR (1) KR101527545B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030918A1 (ko) * 2020-08-07 2022-02-10 대한민국(문화재청 국립문화재연구소장) 모바일 기기에서의 대규모 건축물의 증강현실 구현을 위한 데이터 최적화 및 인터페이스 향상 방법
CN112816958B (zh) * 2021-01-04 2024-01-30 西安电子科技大学 外场目标与背景复合散射特性的测量方法、系统及应用

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227137A1 (en) * 2005-03-29 2006-10-12 Tim Weyrich Skin reflectance model for representing and rendering faces
JP2008250577A (ja) * 2007-03-29 2008-10-16 Digital Media Professional:Kk 人間の肌のような半透明の材質のための、曲率ベースレンダリング方法及び装置
KR20110006030A (ko) * 2009-07-13 2011-01-20 삼성전자주식회사 모델 학습 기반의 실시간 영상 모델링 방법 및 그 장치
KR20130047134A (ko) * 2011-10-31 2013-05-08 (주)아모레퍼시픽 피부의 광특성 측정 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060227137A1 (en) * 2005-03-29 2006-10-12 Tim Weyrich Skin reflectance model for representing and rendering faces
JP2008250577A (ja) * 2007-03-29 2008-10-16 Digital Media Professional:Kk 人間の肌のような半透明の材質のための、曲率ベースレンダリング方法及び装置
KR20110006030A (ko) * 2009-07-13 2011-01-20 삼성전자주식회사 모델 학습 기반의 실시간 영상 모델링 방법 및 그 장치
KR20130047134A (ko) * 2011-10-31 2013-05-08 (주)아모레퍼시픽 피부의 광특성 측정 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022030918A1 (ko) * 2020-08-07 2022-02-10 대한민국(문화재청 국립문화재연구소장) 모바일 기기에서의 대규모 건축물의 증강현실 구현을 위한 데이터 최적화 및 인터페이스 향상 방법
CN112816958B (zh) * 2021-01-04 2024-01-30 西安电子科技大学 外场目标与背景复合散射特性的测量方法、系统及应用

Similar Documents

Publication Publication Date Title
WO2021129044A1 (zh) 对象渲染方法和装置、存储介质及电子装置
US20150193967A1 (en) Rendering global light transport in real-time using machine learning
US7864176B2 (en) Translucent object rendering methods and apparatus
CN112200900A (zh) 一种体积云渲染方法、装置、电子设备及存储介质
CN106898040B (zh) 虚拟资源对象渲染方法和装置
JP2005122735A (ja) ナチュラルライティング環境における物体のリアルタイムのリライティングに対する堅牢なサンプリングのためのシステムおよび方法
CN109712226A (zh) 虚拟现实的透明模型渲染方法及装置
Liu et al. Cinematic rendering in UE4 with real-time ray tracing and denoising
KR101527545B1 (ko) 휴대 단말기용 게임을 위한 서브 서피스 스캐터링 렌더링 방법
CN113888398B (zh) 头发渲染方法、装置及电子设备
Cabeleira Combining rasterization and ray tracing techniques to approximate global illumination in real-time
CN114419220A (zh) 对目标物的风格化渲染方法、装置、电子设备及存储介质
JP2011090699A (ja) グラフィックシステム、グラフィックス画像を生成する方法およびプログラムにおける無色光のライティング
Habel et al. Physically based real-time translucency for leaves
CN112465941B (zh) 一种体积云处理方法、装置、电子设备及存储介质
WO2022042003A1 (zh) 三维着色的方法、装置、计算设备和存储介质
Guo et al. A new rendering algorithm based on multi-space for living soft tissue
Lee et al. Subsurface scattering-based object rendering techniques for real-time smartphone games
CN117078838B (zh) 一种对象渲染方法、装置、存储介质及电子设备
CN114307133A (zh) 一种游戏中的显示控制方法和装置
Fauerby et al. Real-time soft shadows in a game engine
Schwandt et al. Differential G-Buffer rendering for mediated reality applications
Tuliniemi Physically based rendering for embedded systems
Tao et al. Application of Bump-effects in a Postprocessing step
Yutong et al. Study of water surface scattering model based on Unity3D Shader

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190617

Year of fee payment: 5