1 / 72

이민웅 Shader Study

「스퀘어 에닉스 오픈 컨퍼런스 2012 」 「 Agni's Philosophy 」 비하인드 스토리 Hair Rendering, Eye Shader , AO, AA, SSS. 이민웅 Shader Study. 풍부하고 다양한 표현을 현명하게 적용시킨 스킨 셰이딩. 인물피부표현의 기초가 되는 것이 표면하산란 (SSS) 반투명 층이 겹쳐진 구조로 되어있는것에 착안해서 만들어진 기법 빛을 받는 가운데 6% 가 스펙큘러

oakley
Download Presentation

이민웅 Shader Study

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 「스퀘어 에닉스 오픈 컨퍼런스2012」「Agni's Philosophy」비하인드스토리Hair Rendering, Eye Shader, AO, AA, SSS 이민웅 Shader Study

  2. 풍부하고 다양한 표현을 현명하게 적용시킨 스킨 셰이딩 • 인물피부표현의 기초가 되는 것이 표면하산란(SSS) • 반투명 층이 겹쳐진 구조로 되어있는것에 착안해서 만들어진 기법 • 빛을 받는 가운데 6%가 스펙큘러 • 나머지 94%는 피부안에서 확산하여 각질층의 색을 기반으로하여 컬러 시프트를 일으킨 후 외부로 확산

  3. 인간의 몸이 가지는 투명감의 표현에 도전

  4. SSS

  5. Poisson disk sampling • 피하확산 시뮬레이션에 사용하는 텍셀의 샘플링을 포아송분포의 특수 테이블을 참조 • 무거운 피하확산 시뮬레이션에 대한 계산량의부족함을 보충

  6. 구현된 SSS의 파이프라인 개념도

  7. 스크린 스페이스에서 처리하기 때문에 거리에 따라 부하가 크게 변화

  8. SSS없음과 있음의 차이。SSS가 적용되게 되면 일부가 붉은빛이 발생하여 표면이 매끄럽게 된다 SSS없음。SSS가 적용되게 되면 일부가 붉은빛이 발생하여 표면이 매끄럽게 된다

  9. SSS있음。SSS가 적용되게 되면 일부가 붉은빛이 발생하여 표면이 매끄럽게 된다

  10. 스펙큘러의 표현 • 인물용 스펙큘러에는 단순한 Phong스펙큘러가지고는부족함 • KelemenSzirmayーKalos구현을 기반으로 한 스펙큘러(BRDF、쌍방향반사율분포함수)의 기법을 사용 • 반사지점 마다 반사방향・강도가 다른 스펙큘러 처리로 피부의 세밀한 요철에 의해 생기는 영향을 가미한 스펙큘러 효과를 얻을수있음

  11. 스펙큘러의 표현 • SH Irradiance Volume(GI 환경광)으로부터의 영향을 메인으로 하고 큐브맵의 영향을 약하게 블렌딩한스펙큘러 • 건조한 피부질감을 얻을 수 있다。  • 큐브맵을기반으로 한 강한 스펙큘러로 이것은 지성에 가까운 피부질감을 얻을 수 있음 • 적절히 조합함으로써, 건성,지성 피부, 흐른 땀등의 다채로운 피부질감을 표현할수있음

  12. 일반적인 Phong스펙큘러

  13. 「Agni's」에서의 스펙큘러

  14. 젖어있는 스펙큘러를마스킹해서 일부만을 적용함으로써 땀이나 눈물등의 표현을 낼 수 있다

  15. 젖어있는 스펙큘러를마스킹해서 일부만을 적용함으로써 땀이나 눈물등의 표현을 낼 수 있다

  16. 확산반사(Diffuse)

  17. 확산반사에(Diffuse) 화면좌표계(Screen Space Coordinate) 블러를 적용하여 의사표면하 산란을 적용한 결과

  18. 스펙큘러

  19. SSSOff。 (확산반사(Diffuse)+스펙큘러)

  20. SSS On。 (확산반사(Diffuse) X SSS+ 스펙큘러)。 최종영상

  21. AO • 인물용의 AO도 따로 준비 • 미리 구워놓은 Baked-AO와 리얼타임에 추가하는 SSAO 양쪽을 적절히 필요에 따라 나누어 쓰고 있음 • 일반적인 AO와 다른것은AO의 레벨에 따라 컬러 시프트를 발생시켜 어두운 부분에 약간 붉은빛을 띄게하는것 • 어두운 부분에서 피하확산의 효과가 강조되어 붉은빛을 띄게된다 라는 자연스러운 표현을 줄 수 있는것

  22. AO 컬러 계산시 약간에 변화를 주는것으로 인해 어두운 부분에 붉은 빛을 약간 띄게 하고 있다

  23. AO없음 요철부분의 강도가 훨씬 더 눈에 띄게 나타나고 있다

  24. AO의 있음 요철부분의 강도가 훨씬 더 눈에 띄게 나타나고 있다

  25. Back Scattering • 피부의 투명감을 표현하기 위해, 백 스캐터링(배경확산)[Back Scattering의 효과가 구현 • 손가락이나 귀 등의 얇은 부분에서 배경 빛이 투과되어, 두꺼운 부분보다 붉은빛을 띄고 있는 것처럼 보이는 것 • 해당 오브젝트의 두께정보를 추가하여 광원색을 반영시키는 것으로 구현

  26. 백 스캐터링없음。자연스러운 투명감이 연출되고 있다

  27. 백 스캐터링있음。자연스러운 투명감이 연출되고 있다

  28. Eye • 눈은 단순한 구체가 아님 • 두께를 가진 렌즈가 있고, 그 안에 홍채가 있음 • 눈을 대각선에서 보면, 렌즈에 의한 일그러짐으로 인해 홍채의 깊이가 다르게 보이는 것 • 범프맵핑에서 홍채의 패임을 표현하고, 패럴렉스맵핑으로 굴절을 표현

  29. Hair • 같은 폴리곤 베이스의 머리카락 표현、또 하나는 Nurbs곡선으로 주어진 제어라인으로 머리카락 다발을 시뮬레이션하여테셀레이션으로 증가시키는 기법 • NURBS: 주어진 복수의 제어점으로부터 산술적인 곡선(곡면)을 생성하는 기법 • 2개의 버텍스로부터 이루어지는 선분을 각 버텍스로부터 만들어지는 NURBS곡선으로 변환하는데 테셀레이션 스테이지를 사용 • 테셀레이션 스테이지의 헐 셰이더로 주어진 NURBS용 제어점을 기반으로 표현하고 싶은 곡선 정밀도를 구해, 테셀레이터에서 실제로 그정밀도에 따라 선분을 분할 • 분할 정밀도는 시점과의 거리에 따라 값이 결정 • 도메인 셰이더에서 곡선으로써의 의미를 부여하는 작업을 수행

  30. Hair • 찰랑찰랑한 머리카락에서 서두에 등장하는 남성의 곱슬곱슬한 수염, 하이에나풍몬스터의 뻣뻣한 털까지 자연스럽고 다양한 털의 표현을 할수 있다라는 것

  31. B-Hair • B-Hair는 Maya상에서 일반 메쉬로써 만들며, T-Hair는 Nurbs(Non-uniform rational B-spline)곡선의 제어점 집합을 가지고 만들고 있음  • 제어점은용수철같은 역학오브젝트로써 시뮬레이션을 수행 • 중력이나 기타 오브젝트, 혹은 바람등 벡터 필드의 영향을 받아 동작

  32. T-Hair(Tariq-Hair) • T-Hair의 제어점은DirectX 11의 Compute Shader로 스무딩 된 상태에서 테셀레이터로 증가 시킴 • 지오메트리가증가할때는테셀레이터에 주는 파라미터로곱슬정도, 왜곡정도, 회전등을더할수 있어서, 직선이 아닌 빌보드 텍스처를 입히는 것으로 머리카락의 품질 표현을 가능하게 함

  33. T-Hair는 소환사등 남성 캐릭터의 수염, 혹은 동물의 털에도 사용되고 있다

  34. Maya에서의 데이터는 이와 같이 구성

  35. Nurbs의 제어점은물리제어된 후 스무딩, 테셀레이션으로 지오메트리증가, 빌보드 텍스처를 만든다라는 흐름으로 최종 이미지가 된다

  36. 테셀레이터에서의지오메트리증가시 변형 파라미터를 주어 다른 털의 품질을 유연하게 표현할수 있다

  37. 테셀레이터에서의지오메트리증가시 변형 파라미터를 주어 다른 털의 품질을 유연하게 표현할수 있다

  38. Hair Lighting • 머리카락의 셰이딩에 대해서는 위의 B-Hair 와 T-Hair 양쪽이 알맞게 스며들어 보여야 할 필요가 있어, 난이도가 높은 문제에 해당 • 「Agni's」에서는 머리카락의 색을 정하는 하이라이트, 2차원 하이트같은 복잡한 요소를 근사화 하는 Steve Marschner씨에 의한 기법을 적용하여 구현 • Light Scattering from Human Hair Fibers

  39. Hair Lighting • 빛이 머리카락에 닿으면 상당한 비율이 그 표면에서 정반사하여 표면에 하이라이트를 만듬 • 1.이 하이라이트는 주로 광원색으로 강하게 나오는 것 • 2. 머리카락에 투과한 빛은 감쇠하면서도 모발 자체의 색을 흡수하고 방출 • 방출하는 빛중에서 입사하는 쪽으로 돌아온 2차적인 하이라이트를 형성하는것 • 3. 머리카락을 투과하여 방출된 투과광 • 머리카락의 색으로부터 방출하는 빛의 색은 광원색보다도 머리카락의 색이 좀더 지배적

More Related