avatar
μ–΄μ©Œλ‹€λ³΄λ‹ˆ 개발자
Unity Game Developer
  • HOME
  • CATEGORIES
  • PROJECTS
  • ARCHIVES
  • ABOUT
Home (πŸ”’)λ²ˆμ—­ - BRDF Layered Diffuse
Post
Cancel

(πŸ”’)λ²ˆμ—­ - BRDF Layered Diffuse

Posted May 14, 2024
By Jung Jisang
40 min read

κ°œμΈκ³΅λΆ€λ₯Ό μœ„ν•œ κ°œμΈνŽ˜μ΄μ§€μž…λ‹ˆλ‹€.

μ €μž‘κΆŒ κ΄€λ ¨ λ¬Έμ œμ‚¬ν•­ λ°œμƒμ‹œ μ‚­μ œλ  수 μžˆμŠ΅λ‹ˆλ‹€.

듀어가기에 μ•žμ„œ

I3D 2022에 μΆœκ°„λœ 자료이며, 이해λ₯Ό 돕기 μœ„ν•΄ κΈ€λ§Œ ν•œκΈ€λ‘œ λ²ˆμ—­ν•©λ‹ˆλ‹€.

μœ λ‹ˆν‹°μ˜ ν΄λ¦¬μ–΄μ½”νŠΈμ™€ μœ μ‚¬ν•œ κ°œλ…μœΌλ‘œ, 이λ₯Ό 염두해두고 읽으면 읽기 νŽΈν•˜μ§€λ§Œ,

좔가적인 톡계적접근방식을 ν†΅ν•œ λ‹€μ€‘μ‚°λž€κ³Ό μ°¨μ›μΆ•μ†Œμ„ ν¬ν•¨ν•œ κ°œλ…μ˜ 차이점을 두면 μ’‹μŠ΅λ‹ˆλ‹€.

κ°„λ‹¨ν•œ λ¦¬λ·°λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

κ°œμš”

이 논문은 μ‹€μ‹œκ°„μœΌλ‘œ λž¨λ²„νŠΈ 기저에 거친 μœ μ „μ²΄ 계면이 μ½”νŒ…λœ ν‘œλ©΄(세라믹과 같은 μ™Έκ΄€)을 λ Œλ”λ§ν•˜κΈ° μœ„ν•œ μƒˆλ‘œμš΄ 셰이딩 λͺ¨λΈμ„ μ œμ‹œν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν‘œλ©΄μ€ 흑수 맀질둜 λΆ„λ¦¬λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” κΈ°μ—¬

  1. μƒˆλ‘œμš΄ 셰이딩 λͺ¨λΈ: 두 개의 BRDF 둜브둜 κ΅¬μ„±λœ λͺ¨λΈμ„ μ œμ•ˆν•˜μ—¬, μΈ΅ κ΅¬μ‘°μ—μ„œ λΉ› μ „μ†‘μ˜ 처음 μ„Έ κ°€μ§€ λͺ¨λ©˜νŠΈλ₯Ό 수치적으둜 연ꡬ해 ꡬ좕.
  2. μ‹€μ‹œκ°„ ν˜Έν™˜μ„±: 차원 μΆ•μ†Œλ₯Ό 톡해 ν•„μš”ν•œ ν…Œμ΄λΈ”μ„ 관리 κ°€λŠ₯ν•œ 크기둜 μ••μΆ•ν•˜μ—¬ μ‹€μ‹œκ°„ μ œμ•½μ— 맞게 μ‘°μ •.
  3. 측상 BRDF ν”„λ ˆμž„μ›Œν¬ ν™•μž₯: Belcour [2018]의 측상 BRDF ν”„λ ˆμž„μ›Œν¬μ— λž¨λ²„νŠΈ 계면 지원을 μΆ”κ°€ν•˜μ—¬, μ‹€μ‹œκ°„μœΌλ‘œ 물리적으둜 κΈ°λ°˜ν•œ μ™Έκ΄€μ˜ λ²”μœ„λ₯Ό ν™•μž₯.

κ΅¬ν˜„ μ„ΈλΆ€ 사항

  • 차원 μΆ•μ†Œ: 거친 νˆ¬κ³Όμœ¨μ„ 4Dμ—μ„œ 2D + 1D + 1D둜 μ••μΆ•. ν‘μˆ˜μ™€ 거칠기에 λŒ€ν•΄ 각각 2개의 κΈ°μ €λ₯Ό μ‚¬μš©.
  • GLSL ν”„λž˜κ·Έλ¨ΌνŠΈ 셰이더: GLSL ν”„λž˜κ·Έλ¨ΌνŠΈ μ…°μ΄λ”λ‘œ κ΅¬ν˜„ν•˜μ—¬ RTX 2070μ—μ„œ 720p ν•΄μƒλ„λ‘œ ν”„λ ˆμž„λ‹Ή μ•½ 0.5ms μ†Œμš”.
  • Unity 톡합: Unity의 HDRP에 μ»€μŠ€ν…€ ν¬μ›Œλ“œ 패슀둜 ν¬νŒ…, μΈν„°λž™ν‹°λΈŒ ν”„λ ˆμž„ 레이트둜 μ‹€ν–‰λ˜λ©° μ•„ν‹°μŠ€νŠΈκ°€ ν…μŠ€μ²˜λ‘œ λ§€κ°œλ³€μˆ˜λ₯Ό 자유둭게 λ³€κ²½ν•  수 있음.

검증

  • Mitsuba ν”ŒλŸ¬κ·ΈμΈ: Mitsuba λ Œλ”λ§ μ—”μ§„μ˜ μ»€μŠ€ν…€ ν”ŒλŸ¬κ·ΈμΈμ„ 톡해 검증, ν™•λ₯ μ  μ°Έμ‘° λͺ¨λΈκ³Ό λΉ„κ΅ν•˜μ—¬ 정확성을 확인.
  • λ‹€μΈ΅ 재료 검증: Mitsuba μ—”μ§„μ—μ„œ μ—…λ°μ΄νŠΈλœ μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜μ—¬ 두 개의 μœ μ „μ²΄ μΈ΅κ³Ό λž¨λ²„νŠΈ κΈ°μ €λ‘œ κ΅¬μ„±λœ ν‘œλ©΄μ˜ 외관을 μž¬ν˜„.

ν•œκ³„

  • μž„κ³„κ°: Ξ·<1\eta < 1Ξ·<1인 경우 μž„κ³„κ°μ—μ„œ λšœλ ·ν•œ λΆˆμ—°μ†μ„±μ΄ λ°œμƒν•˜λ©°, GGX 둜브둜 이λ₯Ό μ™„μ „νžˆ μž¬ν˜„ν•  수 μ—†μŒ.
  • 이방성과 μ°Έμ—¬ 맀질: 거친 λ“±λ°©μ„± μœ μ „μ²΄ μ½”νŒ…μœΌλ‘œ μ œν•œ, 맀질 λ‚΄ 닀쀑 μ‚°λž€μ„ κ³ λ €ν•˜μ§€ μ•ŠμŒ.

μœ λ‹ˆν‹° ν΄λ¦¬μ–΄μ½”νŠΈμ™€μ˜ 비ꡐ

  1. 닀쀑 μ‚°λž€ 처리: λ…Όλ¬Έμ˜ λͺ¨λΈμ€ 닀쀑 μ‚°λž€μ„ κ³ λ €ν•˜μ—¬ 더 μ •ν™•ν•œ λΉ›μ˜ μƒν˜Έμž‘μš©μ„ μž¬ν˜„ν•©λ‹ˆλ‹€. Unity의 Clear CoatλŠ” μ΄λŸ¬ν•œ λ³΅μž‘ν•œ μƒν˜Έμž‘μš©μ„ λ‹¨μˆœν™”ν•œ ν˜•νƒœλ‘œ μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. 차원 μΆ•μ†Œ: λ…Όλ¬Έμ—μ„œλŠ” ν•„μš”ν•œ λ°μ΄ν„°μ˜ 차원을 μΆ•μ†Œν•˜μ—¬ μ‹€μ‹œκ°„ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” 방법을 μ œμ‹œν•©λ‹ˆλ‹€.

Rendering Layered Materials with Diffuse Interfaces

  • Heloise de Dinechin (Unity Technologies, EPFL)
  • Laurent Belcour (Unity Technologies)

원문 :

https://belcour.github.io/blog/research/publication/2022/04/13/brdf-layered-diffuse.html

https://arxiv.org/pdf/2203.11835

κ°œμš”(ABSTRACT)

λ³Έ μ—°κ΅¬μ—μ„œλŠ” μ‹€μ‹œκ°„μœΌλ‘œ 거친 μœ μ „μ²΄ μ½”νŒ…(rough dielectric coating)을 κ°€μ§„ λž¨λ²„νŠΈ ν‘œλ©΄μ„ λ Œλ”λ§ν•˜λŠ” μƒˆλ‘œμš΄ 방법을 μ†Œκ°œν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ κ΅¬μ„±μ˜ 외관이 각각 직접 및 κ°„μ ‘ μƒν˜Έμž‘μš©μ„ μ„€λͺ…ν•˜λŠ” 두 개의 λ§ˆμ΄ν¬λ‘œνŽ˜μ‹― 둜브(microfacet lobes)둜 μΆ©μ‹€ν•˜κ²Œ ν‘œν˜„λœλ‹€λŠ” 것을 λ³΄μž…λ‹ˆλ‹€.

μš°λ¦¬λŠ” 5차원 ν…Œμ΄λΈ”μ„ μ‚¬μš©ν•˜μ—¬ λΉ› μ „μ†‘μ˜ 1μ°¨ λ°©ν–₯ 톡계(μ—λ„ˆμ§€, 평균 및 λΆ„μ‚°)λ₯Ό 기반으둜 μ΄λŸ¬ν•œ 둜브λ₯Ό 수치적으둜 λ§žμΆ”κ³ , 이λ₯Ό 뢄석적 ν˜•μ‹κ³Ό 차원 μΆ•μ†Œλ₯Ό 톡해 2차원 + 1μ°¨μ›μœΌλ‘œ μ’νž™λ‹ˆλ‹€.

μš°λ¦¬λŠ” 거친 ν”ŒλΌμŠ€ν‹±κ³Ό 세라믹을 효율적으둜 λ Œλ”λ§ν•˜μ—¬ 우리 λ°©λ²•μ˜ ν’ˆμ§ˆμ„ μž…μ¦ν•˜λ©°, μ΄λŠ” 진싀에 맀우 κ°€κΉμŠ΅λ‹ˆλ‹€. λ˜ν•œ, μš°λ¦¬λŠ” μ΅œμ²¨λ‹¨μ˜ 측상 물질 λͺ¨λΈμ„ κ°œμ„ ν•˜μ—¬ λž¨λ²„νŠΈ 계면을 ν¬ν•¨μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

CCS Concepts

  • Computing methodologies β†’ Reflectance modeling

Keywords

Layered Materials, Statistical Analysis, Real-Time Rendering

ACM Reference Format:

Heloise de Dinechin and Laurent Belcour. 2022. Rendering Layered Materials with Diffuse Interfaces. In Proceedings of SIGGRAPH I3D (I3D’22). ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3522620

1. μ†Œκ°œ(INTRODUCTION)

λ¨Έν…Œλ¦¬μ–Ό λͺ¨λΈμ„ μ‹€μ‹œκ°„ λ Œλ”λ§ μ—”μ§„κ³Ό μ˜€ν”„λΌμΈ λ Œλ”λ§ μ—”μ§„ λͺ¨λ‘μ™€ ν˜Έν™˜λ˜κ²Œ μ„€κ³„ν•˜λŠ” 것은 도전적인 κ³Όμ œμž…λ‹ˆλ‹€. λ§Žμ€ 경우, μ‹€μ‹œκ°„ 셰이딩 λͺ¨λΈμ€ μ˜€ν”„λΌμΈ λ Œλ”λ§ λͺ¨λΈμ„ μ‘°μ•…ν•˜κ²Œ κ·Όμ‚¬ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μ½”νŒ…λœ 세라믹 λ˜λŠ” 거친 μ½”νŒ… ν”ŒλΌμŠ€ν‹±μ˜ 경우, λž¨λ²„νŠΈ κΈ°μ € μœ„μ— 거친 μœ μ „μ²΄ μ½”νŒ…μ΄ μŒ“μΈ ꡬ쑰둜 μ •μ˜λ©λ‹ˆλ‹€. μ΄λŸ¬ν•œ 재료λ₯Ό κ·Όμ‚¬ν•˜κΈ° μœ„ν•΄, μ‹€μ‹œκ°„ λͺ¨λΈμ€ 보톡 거친 μŠ€νŽ™ν˜λŸ¬(rough specular) λ‘œλΈŒμ™€ ν™•μ‚° 둜브λ₯Ό μ•„ν‹°μŠ€νŠΈκ°€ μ •μ˜ν•œ κ°’μœΌλ‘œ ν˜Όν•©ν•˜μ—¬ λΉ› 전솑을 λ¬΄μ‹œν•©λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ μ˜€ν”„λΌμΈ λͺ¨λΈμ€ μ½”νŒ…κ³Ό κΈ°μ € κ°„μ˜ μƒν˜Έμž‘μš©μ„ μ˜¬λ°”λ₯΄κ²Œ ν‰κ°€ν•˜μ—¬ μ „μ†‘λœ ν™•μ‚° μƒ‰μƒμ˜ μ˜¬λ°”λ₯Έ 채도와 밝기λ₯Ό 달성할 수 μžˆμ§€λ§Œ, νš¨μœ¨μ„±μ„ 희생해야 ν•©λ‹ˆλ‹€.

λ³Έ μ—°κ΅¬μ—μ„œλŠ” μ‹€μ‹œκ°„μœΌλ‘œ κ·ΈλŸ¬ν•œ ꡬ쑰λ₯Ό λ Œλ”λ§ν•˜λ©΄μ„œλ„ 진싀에 κ°€κΉŒμš΄ μ‹œκ°μ  κ²°κ³Όλ₯Ό μ œκ³΅ν•˜λŠ” λͺ¨λΈμ„ μ œμ•ˆν•©λ‹ˆλ‹€. 우리의 λͺ¨λΈμ€ κ°„λ‹¨ν•œ 아이디어에 κΈ°λ°˜ν•©λ‹ˆλ‹€.

λ¨Όμ €, 단일 및 닀쀑 μ‚°λž€ κ°„μΈ΅μ˜ 1μ°¨ λ°©ν–₯ 톡계(μ—λ„ˆμ§€, 평균 및 λΆ„μ‚°)λ₯Ό ν‘œλ‘œ μž‘μ„±ν•©λ‹ˆλ‹€. 그런 λ‹€μŒ, μ΄λŸ¬ν•œ 톡계λ₯Ό κ·Όμ‚¬ν•˜λŠ” BRDF 둜브의 합을 μ‚¬μš©ν•©λ‹ˆλ‹€.

λž¨λ²„νŠΈ 계면이 λΉ› 전솑 적뢄을 비상관화(decorrelation)ν•˜λŠ” 사싀을 μ΄μš©ν•˜μ—¬ μ΄λŸ¬ν•œ 톡계λ₯Ό μ›μžμ  사전 κ³„μ‚°μœΌλ‘œ μΆ•μ†Œν•˜κ³ , 뢄석적 ν‘œν˜„μ‹κ³Ό κ²°ν•©ν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 톡계λ₯Ό μΌμΉ˜μ‹œν‚€λŠ” GGX λ§ˆμ΄ν¬λ‘œνŽ˜μ‹― λͺ¨λΈ [Walter et al. 2007]의 BRDF 둜브λ₯Ό μ‚¬μš©ν•˜μ—¬, μš°λ¦¬λŠ” ν™•λ₯ μ  참쑰와 맀우 μœ μ‚¬ν•œ 근사 λͺ¨λΈμ„ μ–»μŠ΅λ‹ˆλ‹€.

GPU의 ν…μŠ€μ²˜ μœ λ‹›μ„ 더 잘 ν™œμš©ν•˜κΈ° μœ„ν•΄, 사전 κ³„μ‚°λœ ν…Œμ΄λΈ”μ„ 반볡적인 차원 μΆ•μ†Œλ₯Ό μ‚¬μš©ν•˜μ—¬ 2D ν…μŠ€μ²˜λ‘œ μ••μΆ•ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” 이 λͺ¨λΈμ„ 더 λ°œμ „μ‹œμΌœ Belcour [2018]의 톡계적 ν”„λ ˆμž„μ›Œν¬μ— λž¨λ²„νŠΈ 계면을 ν†΅ν•©ν•©λ‹ˆλ‹€.

2. 이전 연ꡬ (PREVIOUS WORK)

수직으둜 μŒ“μΈ κ°œλ³„ κ³„λ©΄μœΌλ‘œ 이루어진 μž¬λ£ŒλŠ” 측상 재료(layered materials)라고 ν•©λ‹ˆλ‹€ [Weidlich and Wilkie 2007] (κ·Έλ¦Ό 2 (a)). λ¬Έν—Œμ€ νŠΉμ • ꡬ성에 λŒ€ν•œ νμ‡„ν˜• λͺ¨λΈμ„ λ‚˜νƒ€λ‚΄λŠ” 방법과 μž„μ˜μ˜ μΈ΅ 수λ₯Ό κ²°ν•©ν•˜λŠ” ν”„λ ˆμž„μ›Œν¬λ‘œ λ‚˜λˆŒ 수 μžˆμŠ΅λ‹ˆλ‹€.

νŠΉμ • λͺ¨λΈμ€ νŠΉμ • μΈ΅ μˆ˜μ— λŒ€ν•œ νμ‡„ν˜• ν‘œν˜„μ‹μ„ μ œκ³΅ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, Four-Flux Matrix 방법 [Simonot et al. 2016]은 μœ μ „μ²΄ μ½”νŒ…κ³Ό λž¨λ²„νŠΈ κΈ°μ € μ‚¬μ΄μ˜ 전솑을 νŠΉμ •ν•˜κ²Œ λͺ¨λΈλ§ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 방법은 ν˜„μž¬ μ‹€μ‹œκ°„ λ Œλ”λ§μ— ν•„μˆ˜μ μΈ ν”„λ¦¬ν•„ν„°λ§λœ μ‘°λͺ…(HDRIλ‚˜ λ©΄μ‘°λͺ…)κ³Ό ν˜Έν™˜λ˜λŠ” λͺ¨λΈμ„ μ œκ³΅ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ˜€ν”„λΌμΈ 측상 재료 ν”„λ ˆμž„μ›Œν¬. 일반적인 ν”„λ ˆμž„μ›Œν¬λ₯Ό 섀계할 λ•Œμ˜ 어렀움은 μΈ΅ ꡬ쑰 λ‚΄μ˜ 닀쀑 μ‚°λž€μ„ μ„€λͺ…ν•˜λŠ” 데 μžˆμŠ΅λ‹ˆλ‹€. μŠ€νŽ™νŠΈλŸΌ ν‘œν˜„ [Jakob et al. 2014; Zeltner and Jakob 2018]은 μ΄λŸ¬ν•œ λͺ¨λΈμ„ ν‰κ°€ν•˜λŠ” 데 νš¨μœ¨μ μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ°˜μ‚¬μœ¨μ€ 푸리에 κΈ°μ €μ—μ„œ λΆ„ν•΄λ˜λ©°, μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜ [van de Hulst 1980]은 닀쀑 μ‚°λž€μ„ μ„€λͺ…ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이것은 ν…μŠ€μ²˜ μ‚¬μš©μ„ κΈˆμ§€ν•˜λ©° 높은 평가 μ˜€λ²„ν—€λ“œλ₯Ό ν•„μš”λ‘œ ν•©λ‹ˆλ‹€. ν™•λ₯ μ  방법 [Gamboa et al. 2020; Guo et al. 2018]은 λ°˜μ‚¬μœ¨μ„ ν‰κ°€ν•˜κΈ° μœ„ν•΄ λͺ¬ν…ŒμΉ΄λ₯Όλ‘œ 방법을 μ‚¬μš©ν•©λ‹ˆλ‹€. 이듀은 정확성을 λ…Έμ΄μ¦ˆκ³Ό λ§žλ°”κΎΈλ©°, 그둜 인해 셰이딩에 뢄산을 μΆ”κ°€ν•˜μ—¬ μ˜€ν”„λΌμΈ μ‹œλ‚˜λ¦¬μ˜€λ‘œ μ‚¬μš©μ΄ μ œν•œλ©λ‹ˆλ‹€.

μ‹€μ‹œκ°„ 측상 재료 ν”„λ ˆμž„μ›Œν¬. Elek [2010]은 Weidlich와 Wilkie [2007]의 λͺ¨λΈμ„ μ‹€μ‹œκ°„ λ Œλ”λ§μ— μ μš©ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ›λž˜ 방법과 λ§ˆμ°¬κ°€μ§€λ‘œ, μ μ ˆν•œ 닀쀑 μ‚°λž€ 평가가 λΆ€μ‘±ν•˜λ©°, μ κ΄‘μ›λ§Œμ„ μ§€μ›ν•©λ‹ˆλ‹€. λ§ˆμ§€λ§‰μœΌλ‘œ, 톡계 λͺ¨λΈ [Belcour 2018; Guo et al. 2016]은 ꡬ쑰 λ‚΄μ—μ„œ 닀쀑 μ‚°λž€μ˜ 톡계λ₯Ό μž¬ν˜„ν•˜λŠ” λ°©ν–₯μ„± μ•Œλ² λ„, μž…μ‚¬ λ°©ν–₯ 및 κ±°μΉ κΈ°λ₯Ό κ°€μ§„ λ§ˆμ΄ν¬λ‘œνŽ˜μ‹― 둜브의 ν•©μœΌλ‘œ λ°˜μ‚¬μœ¨μ„ κ·Όμ‚¬ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μ‹€μ‹œκ°„μœΌλ‘œ ν™•μž₯된 광원을 λ Œλ”λ§ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ§Žμ€ ν™•μž₯에도 λΆˆκ΅¬ν•˜κ³  [Randrianandrasana et al. 2021; Weier와 Belcour 2020; Yamaguchi et al. 2019], 이 λͺ¨λΈμ€ λž¨λ²„νŠΈ 계면을 μ²˜λ¦¬ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€.

κΈ°μ—¬ μš”μ•½. λ³Έ μ—°κ΅¬μ—μ„œλŠ” 톡계 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜μ—¬ λž¨λ²„νŠΈ 계면을 μ²˜λ¦¬ν•  수 μžˆλ„λ‘ ν™•μž₯ν•¨μœΌλ‘œμ¨ 더 λ‹€μ–‘ν•œ ꡬ성을 λ Œλ”λ§ν•  수 있게 ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄, μš°λ¦¬λŠ” λž¨λ²„νŠΈ κΈ°μ € μœ„μ— 거친 μœ μ „μ²΄ μ½”νŒ…μ„ μŒ“μ€ ꡬ쑰(거친 μ½”νŒ… λž¨λ²„νŠΈ, κ·Έλ¦Ό 2 (b))의 톡계λ₯Ό μ—°κ΅¬ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν†΅κ³„λ‘œλΆ€ν„° μš°λ¦¬λŠ” κ·ΈλŸ¬ν•œ μž¬λ£Œμ— λŒ€ν•œ λ°˜μ‚¬μœ¨ λͺ¨λΈμ„ κ΅¬μΆ•ν•˜κ³ , λž¨λ²„νŠΈ κΈ°μ €μ™€μ˜ ꡬ성을 μ²˜λ¦¬ν•  수 μžˆλ„λ‘ 톡계적 측상 ν”„λ ˆμž„μ›Œν¬λ₯Ό κ°œμ„ ν•©λ‹ˆλ‹€(κ·Έλ¦Ό 2 (c-d)).

3. μ½”νŒ…λœ λž¨λ²„μ‹œμ•ˆμ˜ 톡계

거친 μ½”νŒ… λž¨λ²„νŠΈ λ°˜μ‚¬μœ¨

거친 μ½”νŒ… λž¨λ²„νŠΈ λ°˜μ‚¬μœ¨μ€ μ½”νŒ…μ— μ˜ν•΄ 직접 λ°˜μ‚¬λœ λΉ›κ³Ό λž¨λ²„νŠΈ 기저에 μ˜ν•΄ κ°„μ ‘μ μœΌλ‘œ λ°˜μ‚¬λœ λΉ›μ˜ ν•©μž…λ‹ˆλ‹€. μš°λ¦¬λŠ” 결과적인 BRDF λͺ¨λΈμ„ 두 κ°€μ§€ ν•­μœΌλ‘œ λΆ„ν•΄ν•˜κΈ°λ‘œ ν–ˆμŠ΅λ‹ˆλ‹€: 직접 ν•­ ρ1\rho_1ρ1​과 κ°„μ ‘ ν•­ ρ2+\rho_{2+}ρ2+β€‹μž…λ‹ˆλ‹€. 직접 항은 이전 연ꡬ [Belcour 2018]μ—μ„œ 이미 μ„€λͺ…λ˜μ—ˆμŠ΅λ‹ˆλ‹€. κ°„μ ‘ ν•­μ˜ 경우, μš°λ¦¬λŠ” κ·Έ μ—λ„ˆμ§€, 평균 및 뢄산을 μ—°κ΅¬ν•©λ‹ˆλ‹€.

3.1 μ—λ„ˆμ§€

닀쀑 μ‚°λž€ μ„±λΆ„ ρ2+\rho_{2+}ρ2+β€‹μ˜ μ—λ„ˆμ§€λŠ” λž¨λ²„νŠΈ 기저와 ν•œ 번 μƒν˜Έμž‘μš©ν•˜λŠ” 경둜의 μ λΆ„μž…λ‹ˆλ‹€. 이듀은 Ξ·1\eta_1Ξ·1β€‹μ—μ„œ Ξ·2\eta_2Ξ·2β€‹λ‘œμ˜ 거친 ꡴절 T01T_{01}T01​, ν™•μ‚° μƒν˜Έμž‘μš© ρ(x)\rho (x)ρ(x), 그리고 Ξ·2\eta_2Ξ·2β€‹μ—μ„œ Ξ·1\eta_1Ξ·1β€‹λ‘œμ˜ 거친 λ°˜μ‚¬μ™€ ꡴절 RΛ‰βˆ—10\bar{R}*{10}RΛ‰βˆ—10 및 TΛ‰βˆ—10\bar{T}*{10}TΛ‰βˆ—10을 κ²ͺμŠ΅λ‹ˆλ‹€:

ρ2+=βˆ‘Ξ©n∫x∈ΩnT01(x0)ρ(x1)(∏k=2nβˆ’2RΛ‰10(xk)ρ(xk+1))TΛ‰10(xn)\rho_{2+} = \sum_{\Omega_n} \int_{x \in \Omega_n} T_{01}(x_0)\rho (x_1) \left( \prod_{k=2}^{n-2} \bar{R}{10}(x_k)\rho (x{k+1}) \right) \bar{T}_{10}(x_n)ρ2+​=Ξ©nβ€‹βˆ‘β€‹βˆ«x∈Ωn​​T01​(x0​)ρ(x1​)(k=2∏nβˆ’2​RΛ‰10(xk​)ρ(xk+1))TΛ‰10​(xn​)

μ—¬κΈ°μ„œ x=xi[0,n]∈Ωnx = x_i [0,n] \in \Omega_nx=xi​[0,n]∈Ωn​은 길이 nnn의 λͺ¨λ“  κ²½λ‘œμž…λ‹ˆλ‹€. λž¨λ²„νŠΈ μƒν˜Έμž‘μš©μœΌλ‘œ 인해, 각 λ²„ν…μŠ€μ—μ„œμ˜ 적뢄은 비상관화(decorrelation)λ©λ‹ˆλ‹€:

ρ2+=βˆ‘nT01ρ(∏k=2nβˆ’2RΛ‰10ρ)TΛ‰10\rho_{2+} = \sum_{n} T_{01} \rho \left( \prod_{k=2}^{n-2} \bar{R}{10} \rho \right) \bar{T}{10}ρ2+​=nβˆ‘β€‹T01​ρ(k=2∏nβˆ’2​RΛ‰10ρ)TΛ‰10 Β =βˆ‘k=0∞T01ρk+1RΛ‰k10TΛ‰10Β = \sum_{k=0}^{\infty} T_{01} \rho^{k+1} \bar{R}{k10} \bar{T}{10}Β =k=0βˆ‘βˆžβ€‹T01​ρk+1RΛ‰k10TΛ‰10

μ—¬κΈ°μ„œ T01=∫T01(x)dxT_{01} = \int T_{01}(x)dxT01​=∫T01​(x)dxμž…λ‹ˆλ‹€. 이 ν˜•νƒœλŠ” μˆ˜λ ΄ν•˜λŠ” κΈ‰μˆ˜μž…λ‹ˆλ‹€:

 ρ2+=T01ρ1βˆ’ΟRΛ‰10TΛ‰10Β \rho_{2+} = T_{01} \frac{\rho}{1 - \rho \bar{R}{10} \bar{T}{10}} ρ2+​=T01​1βˆ’ΟRΛ‰10TΛ‰10ρ​

μ—¬κΈ°μ„œ TΛ‰βˆ—01\bar{T}*{01}TΛ‰βˆ—01은 Ξ·\etaΞ·, Ξ±\alphaΞ±, μž…μ‚¬κ°μ— 따라 달라지며, RΛ‰βˆ—10\bar{R}*{10}RΛ‰βˆ—10κ³Ό TΛ‰10\bar{T}_{10}TΛ‰10​은 Ξ·\etaη와 Ξ±\alphaα에 따라 λ‹¬λΌμ§‘λ‹ˆλ‹€ (κ·Έλ¦Ό 3 (a-c) μ°Έμ‘°). λ”°λΌμ„œ, μ΄λŠ” 4차원 ν•¨μˆ˜ λŒ€μ‹  3차원 및 2차원 ν•¨μˆ˜λ‘œ μ—λ„ˆμ§€λ₯Ό ν‘œν˜„ν•©λ‹ˆλ‹€.

3.2 평균

κ°„μ ‘ 둜브의 평균은 항상 셰이딩 λ²•μ„ μž…λ‹ˆλ‹€. μ‹€μ œλ‘œ, λž¨λ²„νŠΈ μƒν˜Έμž‘μš©μ€ 셰이딩 법선을 μ€‘μ‹¬μœΌλ‘œ λ°˜κ΅¬μ—μ„œ μ—λ„ˆμ§€λ₯Ό λŒ€μΉ­μ μœΌλ‘œ λΆ„λ°°ν•©λ‹ˆλ‹€. μ΄ν›„μ˜ 거친 νˆ¬κ³Όμ™€ 거친 λ°˜μ‚¬λŠ” μ΄λŸ¬ν•œ λŒ€μΉ­μ„ λ³€κ²½ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

3.3 λΆ„μ‚°

μš°λ¦¬λŠ” 가상 κ³ λ‹ˆμ˜€ν¬ν† λ―Έν„°(κ³ λ‹ˆμ˜€ 광도계,광원을 μΈ‘μ •ν•  λ•Œ μ‚¬μš©λ˜λŠ” 기ꡬ)λ₯Ό μ‚¬μš©ν•˜μ—¬ 투영된 μ ‘μ„  ν‰λ©΄μ—μ„œ λ°©ν–₯ 뢄산을 κΈ°λ‘ν–ˆμŠ΅λ‹ˆλ‹€. μž…μ‚¬ λ°©ν–₯에 μ˜ν•΄ λΉ› 뢄포가 영ν–₯을 λ°›μ§€ μ•ŠκΈ° λ•Œλ¬Έμ—, μš°λ¦¬λŠ” ν™•μ‚° κΈ°μ €μ—μ„œ 광선을 μ‹œμž‘ν•˜μ—¬ μ½”νŒ…λœ λž¨λ²„νŠΈ κ΅¬μ‘°μ—μ„œ 경둜λ₯Ό μΆ”μ ν–ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ, μš°λ¦¬λŠ” 2차원 ν…Œμ΄λΈ” Οƒ+2(Ξ·,Ξ±)\sigma^2_{+}(\eta, \alpha)Οƒ+2​(Ξ·,Ξ±)을 μ–»μ—ˆμœΌλ©°, 이λ₯Ό κ·Έλ¦Ό 3 (d)에 ν‘œμ‹œν–ˆμŠ΅λ‹ˆλ‹€.

3.4 근사 λͺ¨λΈ

이 데이터λ₯Ό μ‚¬μš©ν•˜μ—¬ 거친 μ½”νŒ… λž¨λ²„νŠΈ λͺ¨λΈμ„ 두 개의 BRDF 둜브의 ν•©μœΌλ‘œ μΈμŠ€ν„΄μŠ€ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€: κ±°μΉ κΈ° Ξ±\alphaα와 ꡴절λ₯ (IOR) Ξ·\etaη의 GGX λ…Έλ©€ 뢄포에 μ˜ν•œ λ°˜μ‚¬λ§Œμ„ κ³ λ €ν•œ 고전적인 λ§ˆμ΄ν¬λ‘œνŽ˜μ‹― λͺ¨λΈ BRDF1κ³Ό κ°„μ ‘ ν•­ BRDF2+:

BRDF(Ο‰i,Ο‰o)=BRDF1(Ο‰i,Ο‰o)+BRDF2+(Ο‰i,Ο‰o),BRDF (\omega_i, \omega_o) = BRDF1 (\omega_i, \omega_o) + BRDF2+ (\omega_i, \omega_o),BRDF(Ο‰i​,Ο‰o​)=BRDF1(Ο‰i​,Ο‰o​)+BRDF2+(Ο‰i​,Ο‰o​),

두 번째 항은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

Β BRDF2+(Ο‰i,Ο‰o)=ρ2+D(n,Ο‰o,Ξ±2+)GΛ‰(n,Ο‰o,Ξ±2+)4cos⁑(ΞΈi)cos⁑(ΞΈo),Β BRDF2+ (\omega_i, \omega_o) = \rho_{2+} \frac{D(n, \omega_o, \alpha_{2+}) \bar{G}(n, \omega_o, \alpha_{2+})}{4 \cos(\theta_i) \cos(\theta_o)},Β BRDF2+(Ο‰i​,Ο‰o​)=ρ2+​4cos(ΞΈi​)cos(ΞΈo​)D(n,Ο‰o​,Ξ±2+​)GΛ‰(n,Ο‰o​,Ξ±2+​)​,

μ—¬κΈ°μ„œ D(β‹…,β‹…)D(\cdot, \cdot)D(β‹…,β‹…)λŠ” λ§ˆμ΄ν¬λ‘œνŽ˜μ‹― 뢄포, GΛ‰(β‹…,β‹…)\bar{G}(\cdot, \cdot)GΛ‰(β‹…,β‹…)λŠ” μ •κ·œν™”λœ μ„€λ„μž‰/λ§ˆμŠ€ν‚Ή 항이며, μ—λ„ˆμ§€ 손싀은 ρ2+\rho_{2+}ρ2+​에 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. Ξ±2+\alpha_{2+}Ξ±2+β€‹λŠ” 3.3μ ˆμ—μ„œ κ³„μ‚°λœ 뢄산에 λŒ€ν•œ λ“±κ°€ κ±°μΉ κΈ°μž…λ‹ˆλ‹€. λ…Έλ©€ 뢄포와 μ„€λ„μž‰/λ§ˆμŠ€ν‚Ή 항은 μž…μ‚¬ λ°©ν–₯으둜 셰이딩 λ…Έλ©€λ‘œ ν‰κ°€λ©λ‹ˆλ‹€.

κ·Έλ¦Ό 4μ—μ„œ 이 μ‹€μ‹œκ°„ λͺ¨λΈμ„ μ˜€ν”„λΌμΈ μ°Έμ‘° λͺ¨λΈκ³Ό λΉ„κ΅ν•©λ‹ˆλ‹€. 우리의 μž‘μ—…μ€ ꡴절λ₯  Ξ·<1\eta < 1Ξ·<1κ³Ό 같이 μ–΄λ €μš΄ ꡬ성을 μΌμΉ˜μ‹œν‚€λ©°, μ—¬κΈ°μ„œ 전체 λ‚΄λΆ€ λ°˜μ‚¬λŠ” μœ μ „μ²΄ κ³„λ©΄μ˜ 거칠기에 따라 λ§€λ„λŸ¬μ›€μ΄ λ‹¬λΌμ§€λŠ” 이동 λΆˆμ—°μ†μ„ μƒμ„±ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ ꡬ성은 더 λ§Žμ€ 측을 μΆ”κ°€ν•˜κ±°λ‚˜ μˆ˜μ€‘ μž₯면을 λ Œλ”λ§ν•˜λ €λ©΄ κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.

4. 차원 μΆ•μ†Œ

우리의 λͺ¨λΈμ€ Beer-Lambert μ†Œλ©Έ 법칙을 μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ Ο„=exp⁑(βˆ’ΟƒΞ±)\tau = \exp (-\sigma _ \alpha)Ο„=exp(βˆ’ΟƒΞ±β€‹)λ₯Ό T01T_{01}T01​, TΛ‰βˆ—10\bar{T}*{10}TΛ‰βˆ—10, RΛ‰βˆ—10\bar{R}*{10}RΛ‰βˆ—10의 μΆ”κ°€ μ°¨μ›μœΌλ‘œ μΆ”κ°€ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ T01T_{01}T01​에 λŒ€ν•œ λ°€μ§‘λœ 4D ν…Œμ΄λΈ”μ„ GPU에 μ €μž₯ν•˜λŠ” 것은 κΈˆμ§€λ©λ‹ˆλ‹€. μš°λ¦¬λŠ” μ£Όμ„±λΆ„ 뢄석(PCA)을 μ μš©ν•˜κ³  이λ₯Ό 1D κΈ°μ € ν…Œμ΄λΈ”κ³Ό 3D κ³„μˆ˜ ν…Œμ΄λΈ”λ‘œ λΆ„ν•΄ν•˜μ—¬ λ°μ΄ν„°μ˜ 차원을 μ€„μž…λ‹ˆλ‹€:

T01(cos⁑(ΞΈi),Ξ±,Ξ·,Ο„)β‰ˆβˆ‘k=0Nck(cos⁑(ΞΈi),Ξ±,Ξ·)bk(Ο„).T_{01} (\cos(\theta_i), \alpha, \eta, \tau) \approx \sum_{k=0}^{N} c_k (\cos(\theta_i), \alpha, \eta) b_k (\tau).T01​(cos(ΞΈi​),Ξ±,Ξ·,Ο„)β‰ˆk=0βˆ‘N​ck​(cos(ΞΈi​),Ξ±,Ξ·)bk​(Ο„).

κ³„μˆ˜ ck(cos⁑(ΞΈi),Ξ±,Ξ·)c_k (\cos(\theta_i), \alpha, \eta)ck​(cos(ΞΈi​),Ξ±,Ξ·)λŠ” μœ μ‚¬ν•œ λΆ„ν•΄λ‘œ μΆ”κ°€ 뢄해될 수 μžˆμŠ΅λ‹ˆλ‹€:

ck(cos⁑(ΞΈi),Ξ±,Ξ·)β‰ˆβˆ‘j=0Mcjβ€²(cos⁑(ΞΈi),Ξ±)bjβ€²(Ξ·),c_k (\cos(\theta_i), \alpha, \eta) \approx \sum_{j=0}^{M} c'_j (\cos(\theta_i), \alpha) b'_j (\eta),ck​(cos(ΞΈi​),Ξ±,Ξ·)β‰ˆj=0βˆ‘M​cj′​(cos(ΞΈi​),Ξ±)bj′​(Ξ·),

λ”°λΌμ„œ:

T01(cos⁑(ΞΈi),Ξ±,Ξ·,Ο„)β‰ˆβˆ‘k=0Nβˆ‘j=0Mcjβ€²(cos⁑(ΞΈi),Ξ±)bjβ€²(Ξ·)bk(Ο„).T_{01} (\cos(\theta_i), \alpha, \eta, \tau) \approx \sum_{k=0}^{N} \sum_{j=0}^{M} c'_j (\cos(\theta_i), \alpha) b'_j (\eta) b_k (\tau).T01​(cos(ΞΈi​),Ξ±,Ξ·,Ο„)β‰ˆk=0βˆ‘N​j=0βˆ‘M​cj′​(cos(ΞΈi​),Ξ±)bj′​(Ξ·)bk​(Ο„).

이 μ „λž΅μ„ μ—¬λŸ¬ 번 μ μš©ν•˜λ©΄ ν…Œμ΄λΈ”μ˜ 차원을 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€. λ§ˆμ§€λ§‰ μ°¨μ›μ˜ 변동이 μ €μ£ΌνŒŒμˆ˜μΌ λ•Œ, ν•„μš”ν•œ κΈ°μ € μ„±λΆ„μ˜ μˆ˜λŠ” 적으며 단일 ν…μŠ€μ²˜μ— μ €μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€(예: 4개의 κΈ°μ € μ‚¬μš©). κ·Έλ¦Ό 5μ—μ„œ μ΄λŸ¬ν•œ μ••μΆ•μ˜ κ²°κ³Όλ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€.

Untitled

5. 톡계적 측상 ν”„λ ˆμž„μ›Œν¬

3μž₯μ—μ„œ μˆ˜μ§‘ν•œ 톡계λ₯Ό λ°”νƒ•μœΌλ‘œ, μš°λ¦¬λŠ” 톡계적 측상 ν”„λ ˆμž„μ›Œν¬ [Belcour 2018]에 λž¨λ²„νŠΈ 계면 지원을 μΆ”κ°€ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄, μš°λ¦¬λŠ” λ§ˆμ§€λ§‰ μœ μ „μ²΄ 계면과 λž¨λ²„νŠΈ 계면을 ν•˜λ‚˜μ˜ μΈ΅ μΈν„°νŽ˜μ΄μŠ€λ‘œ κ·Έλ£Ήν™”ν•©λ‹ˆλ‹€. λ‹€λ₯Έ μΈ΅κ³Ό 달리, 이 μƒˆλ‘œμš΄ 측은 두 개의 BRDF 둜브λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€. 이 좔가적인 둜브λ₯Ό μ „νŒŒν•˜κΈ° μœ„ν•΄, μš°λ¦¬λŠ” μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜μ— 또 λ‹€λ₯Έ μ§‘ν•©μ˜ λ°©ν–₯ 톡계λ₯Ό μΆ”κ°€ν•˜κ³  (κ·Έλ¦Ό 6), 이λ₯Ό μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€ (μ•Œκ³ λ¦¬μ¦˜ 1).

Untitled

μ΄λŸ¬ν•œ 톡계적 μ ‘κ·Ό 방식을 톡해 λ‹€μ–‘ν•œ μΈ΅ κ°„μ˜ μƒν˜Έμž‘μš©μ„ 더 μ •ν™•ν•˜κ²Œ λͺ¨λΈλ§ν•  수 있으며, 특히 λž¨λ²„νŠΈ 계면과 같은 λ³΅μž‘ν•œ ꡬ쑰λ₯Ό ν¬ν•¨ν•œ 재료λ₯Ό 보닀 ν˜„μ‹€κ° 있게 λ Œλ”λ§ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜

톡계적 ν”„λ ˆμž„μ›Œν¬ λ‚΄μ—μ„œ, μ—°μ‚°μžλŠ” 빛이 측에 μ˜ν•΄ λ°˜μ‚¬λ˜κ±°λ‚˜ ꡴절될 λ•Œ λ°©ν–₯ λͺ¨λ©˜νŠΈ(μ—λ„ˆμ§€ 𝑒, 평균 πœ‡, λΆ„μ‚° 𝜎)의 λ³€ν™”λ₯Ό μ„€λͺ…ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ κ΅­λΆ€ ν†΅κ³„λŠ” ν‘œλ©΄ μœ„μ—μ„œ λ“€μ–΄μ˜€λŠ” 빛에 λŒ€ν•œ 전솑 및 λ°˜μ‚¬ κ³„μˆ˜: (t0i)(t_{0i})(t0i​)와 (r0i)(r_{0i})(r0i​), 그리고 ν‘œλ©΄ μ•„λž˜μ—μ„œ λ“€μ–΄μ˜€λŠ” 빛에 λŒ€ν•œ 전솑 및 λ°˜μ‚¬ κ³„μˆ˜: (ti0)(t_{i0})(ti0​)와 (ri0)(r_{i0})(ri0​)와 같은 μ „μ—­ 톡계λ₯Ό μ—…λ°μ΄νŠΈν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

λͺ¨λ“  κ³„μˆ˜λŠ” μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜ λ™μ•ˆ κ³„μ‚°λ˜λ©°, 재료의 λ°˜μ‚¬μœ¨μ„ κ·Όμ‚¬ν•˜λŠ” λ‹€μ–‘ν•œ 둜브λ₯Ό ν‰κ°€ν•˜λŠ” 데 κ²°ν•©λ©λ‹ˆλ‹€.

μƒˆλ‘œμš΄ μ—°μ‚°μž

μš°λ¦¬λŠ” 거친 μ½”νŒ… λž¨λ²„νŠΈλ₯Ό μœ„ν•œ μ—°μ‚°μžλ₯Ό 두 개의 μ—°μ‚°μžλ‘œ λΆ„ν•΄ν•©λ‹ˆλ‹€: ν•˜λ‚˜λŠ” 거친 μœ μ „μ²΄ λ°˜μ‚¬λ₯Ό μœ„ν•œ μ—°μ‚°μžμ΄κ³ , λ‹€λ₯Έ ν•˜λ‚˜λŠ” 닀쀑 μ‚°λž€ 성뢄을 μœ„ν•œ μ—°μ‚°μžμž…λ‹ˆλ‹€. ν›„μžλŠ” μˆ˜ν•™μ μœΌλ‘œ λ‹€μŒκ³Ό 같이 μ •μ˜λ©λ‹ˆλ‹€:

e=ρ2+Β (EquationΒ 3μ—μ„œΒ μ •μ˜λ¨)ΞΌ=0Β (셰이딩 노멀과 정렬됨)Οƒ=Οƒ2+Β (ν‘œμ—Β κΈ°λ‘λ¨,Β κ·Έλ¦ΌΒ 3Β (d)Β μ°Έμ‘°)e = \rho_{2+} \text{ (Equation 3μ—μ„œ μ •μ˜λ¨)} \\ \mu = 0 \text{ (셰이딩 λ…Έλ©€κ³Ό 정렬됨)} \\ \sigma = \sigma_{2+} \text{ (ν‘œμ— 기둝됨, κ·Έλ¦Ό 3 (d) μ°Έμ‘°)}e=ρ2+​ (EquationΒ 3μ—μ„œΒ μ •μ˜λ¨)ΞΌ=0Β (셰이딩 노멀과 정렬됨)Οƒ=Οƒ2+​ (ν‘œμ—Β κΈ°λ‘λ¨,Β κ·Έλ¦ΌΒ 3Β (d)Β μ°Έμ‘°)

이둜 인해 셰이딩 노멀을 μ€‘μ‹¬μœΌλ‘œ ν•˜λŠ” 좔가적인 λ‘œλΈŒκ°€ μƒμ„±λ©λ‹ˆλ‹€ (κ·Έλ¦Ό 6, 녹색 둜브). 평균과 뢄산이 λ‹€λ₯΄κΈ° λ•Œλ¬Έμ—, 이 λ‘œλΈŒμ—λŠ” 전솑 κ³„μˆ˜ (t_{i0})κ°€ μœ νš¨ν•˜μ§€ μ•ŠμœΌλ©°, μΆ”κ°€ 곡식을 μ μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ, μš°λ¦¬λŠ” μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜μ— λž¨λ²„νŠΈ λ‘œλΈŒμ— λŒ€ν•œ νŠΉμ • 경우λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜μ˜ μˆ˜μ •

이 μΆ”κ°€ 둜브λ₯Ό κ³ λ €ν•˜κΈ° μœ„ν•΄, μš°λ¦¬λŠ” μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜μ˜ μΌλΆ€λ§Œ μˆ˜μ •ν•©λ‹ˆλ‹€. μœ μ „μ²΄ κ³„λ©΄μ˜ μ²˜λ¦¬λŠ” μ—¬μ „νžˆ Belcour [2018]의 κ΅¬ν˜„μ„ λ”°λ¦…λ‹ˆλ‹€ (μ•Œκ³ λ¦¬μ¦˜ 1μ—μ„œ μƒ‰μœΌλ‘œ κ°•μ‘°λœ 차이점을 μ°Έμ‘°).

μ•Œκ³ λ¦¬μ¦˜μ΄ λ§ˆμ§€λ§‰ μœ μ „μ²΄ 계면에 λ„λ‹¬ν•˜λ©΄, μΆ”κ°€-이쀑화 곡식을 μ‚¬μš©ν•˜μ—¬ 직접 λ°˜μ‚¬λœ 둜브λ₯Ό μΆ”κ°€ν•˜μ§€λ§Œ, κ°„μ ‘ λ‘œλΈŒλŠ” λ‹€λ₯΄κ²Œ μ²˜λ¦¬ν•©λ‹ˆλ‹€: 이 λ‘œλΈŒλŠ” 셰이딩 λ…Έλ©€κ³Ό μ •λ ¬λœ 평균을 κ°€μ§€λ―€λ‘œ, μΆ”κ°€-이쀑화 패슀 λ™μ•ˆ κ³„μ‚°λœ 전솑 및 λ°˜μ‚¬ κ³„μˆ˜λ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ κ³„μˆ˜λŠ” κ°„μ ‘ 둜브의 평균과 뢄산을 μ‚¬μš©ν•˜μ—¬ λͺ¨λ“  계면에 λŒ€ν•΄ μž¬ν‰κ°€λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# μ˜μ‚¬μ½”λ“œ

def updated_adding_doubling_algorithm(layers):
    # μ΄ˆκΈ°ν™”
    r0i, ri0 = 0, 0  # i 측의 λ°˜μ‚¬μœ¨
    t0i, ti0 = 1, 1  # i 측의 투과율
    sigma_R0i, sigma_Ri0 = 0, 0  # i 측의 λ°˜μ‚¬μœ¨ λΆ„μ‚°
    sigma_T0i, sigma_Ti0 = 0, 0  # i 측의 투과율 λΆ„μ‚°
    ji0 = 1  # i μΈ΅μ—μ„œ μ΅œμƒμΈ΅μœΌλ‘œμ˜ Jacobian

    # μœ μ „μ²΄ 둜브λ₯Ό ν‰κ°€ν•˜κΈ° μœ„ν•œ μƒλ‹¨μ—μ„œ ν•˜λ‹¨μœΌλ‘œμ˜ 루프
    for i in range(len(layers)):
        # μ—λ„ˆμ§€ μ—…λ°μ΄νŠΈ
        r0i, ri0, t0i, ti0 = update_energy()
        sigma_R0i, sigma_Ri0, sigma_T0i, sigma_Ti0 = update_variance()

        # μƒˆλ‘œμš΄ 둜브λ₯Ό BRDF 둜브 λͺ©λ‘μ— μΆ”κ°€
        m = ri0 * r0i / (1 - ri0 * r0i)
        add_lobe(t0i * r0i * ti0 / (1 - ri0 * r0i), wr, sigma_Ti0 + ji0 * (sigma_T0i + sigma_Ri * m * (sigma_Ri + sigma_Ri0)))

        # Jacobian μ—…λ°μ΄νŠΈ
        ji0 = ji0 * ji

    #(μˆ˜μ •μ‚¬ν•­) 거친 μ½”νŒ… λž¨λ²„νŠΈμ˜ μœ μ „μ²΄ μ½”νŒ… μΆ”κ°€
    add_lobe(t0i * rN * ti0 / (1 - ri0 * rN), wr, sigma_Ti0 + ji0 * (sigma_T0i + sigma_RN * m * (sigma_RN + sigma_Ri0)))

    #(μˆ˜μ •μ‚¬ν•­) λž¨λ²„νŠΈ 둜브λ₯Ό ν‰κ°€ν•˜κΈ° μœ„ν•œ ν•˜λ‹¨μ—μ„œ μƒλ‹¨μœΌλ‘œμ˜ 루프
    riN = t0i * eval_reflectance()  # Equation (9)
    sigma_iN = eval_variance()  # Equation (11)
    for i in reversed(range(len(layers) - 1)):
        riN = (riN * ti) / (1 - ri * ri + 1)
        sigma_iN = ji * sigma_iN + sigma_Ti + ji * (sigma_Ri + sigma_Ri + 1) * ri * ri + 1 / (1 - ri * ri + 1)
        sigma_iN = max(sigma_iN, sigma2_plus(eta_i, alpha_i))
    
    add_lobe(riN, n, sigma_iN)

μš°λ¦¬λŠ” ν•˜λ‹¨μ—μ„œ μƒλ‹¨μœΌλ‘œμ˜ 루프λ₯Ό μ‚¬μš©ν•˜μ—¬ 이λ₯Ό μˆ˜ν–‰ν•©λ‹ˆλ‹€.

μ΄λŠ” μ‹€μ œλ‘œ λž¨λ²„νŠΈ 측에 μ˜ν•΄ μ‘°λͺ…λœ μΈ΅ κ΅¬μ‘°μ—μ„œ νˆ¬κ³Όμœ¨μ— λŒ€ν•΄ μΆ”κ°€-이쀑화λ₯Ό μˆ˜ν–‰ν•˜λŠ” 것과 λ™μΌν•©λ‹ˆλ‹€ (μ•Œκ³ λ¦¬μ¦˜ 의 μˆ˜μ • 사항). 즉, μš°λ¦¬λŠ” ν•˜λ‹¨μ—μ„œ μƒλ‹¨μœΌλ‘œ λ°˜μ‚¬ κ³„μˆ˜μ™€ 뢄산을 μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€:

riN=riβˆ’1Nti1βˆ’riri+1ΟƒNi=jiΟƒNiβˆ’1+ΟƒTi+ji(ΟƒRi+ΟƒRi+1)riri+11βˆ’riri+1r_{iN} = \frac{r_{i-1N} t_i}{1 - r_i r_{i+1}}\\ \sigma_{Ni} = j_i \sigma_{Ni-1} + \sigma_{Ti} + j_i \left( \sigma_{Ri} + \sigma_{Ri+1} \right) \frac{r_i r_{i+1}}{1 - r_i r_{i+1}}riN​=1βˆ’ri​ri+1​riβˆ’1N​ti​​σNi​=ji​σNiβˆ’1​+ΟƒTi​+ji​(ΟƒRi​+ΟƒRi+1​)1βˆ’ri​ri+1​ri​ri+1​​

원 λ…Όλ¬Έμ˜ 방정식을 μ‚¬μš©ν•˜μ—¬.

높은 λΆ„μ‚°

μœ μ „μ²΄ 계면을 톡해 전솑할 λ•Œ κ³„μ‚°λœ 뢄산은 μœ μ „μ²΄ 측을 ν†΅ν•œ ν™•μ‚° μ „μ†‘μ˜ 뢄산을 μ΄ˆκ³Όν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€. λ”°λΌμ„œ μš°λ¦¬λŠ” 이λ₯Ό μ‚¬μš©ν•˜μ—¬ 뢄산을 ν΄λž¨ν•‘ν•©λ‹ˆλ‹€:

Β Οƒt=min⁑(Οƒt,Οƒ2+(Ξ·,Ξ±))Β \sigma_t = \min(\sigma_t, \sigma_2^+(\eta, \alpha))Β Οƒt​=min(Οƒt​,Οƒ2+​(Ξ·,Ξ±))

6. κ΅¬ν˜„ μ„ΈλΆ€ 사항

차원 μΆ•μ†Œ

우리의 κ΅¬ν˜„μ—μ„œ, μš°λ¦¬λŠ” 거친 투과율 T01T_{01}T01​을 4Dμ—μ„œ 2D + 1D + 1D둜 μ••μΆ•ν•˜κ³ , ν™•μ‚° 투과율 TΛ‰βˆ—10\bar{T}*{10}TΛ‰βˆ—10 및 ν™•μ‚° λ°˜μ‚¬μœ¨ RΛ‰βˆ—10\bar{R}*{10}RΛ‰βˆ—10을 3Dμ—μ„œ 2D + 1D둜 μ••μΆ•ν•©λ‹ˆλ‹€. 흑수 Ο„\tauτ에 λŒ€ν•΄μ„œλŠ” 2개의 κΈ°μ €λ₯Ό μ‚¬μš©ν•˜κ³ , κ±°μΉ κΈ° Ξ±\alphaα에 λŒ€ν•΄μ„œλŠ” 2개 λ˜λŠ” 4개의 κΈ°μ €λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

ν›„μžμ˜ 경우, 2개의 κΈ°μ €λŠ” 1개의 RGBA ν…μŠ€μ²˜λ§Œ ν•„μš”ν•˜μ§€λ§Œ, 4개의 κΈ°μ €λŠ” 2개의 ν…μŠ€μ²˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€. μš°λ¦¬λŠ” 보좩 μžλ£Œμ—μ„œ μž¬κ΅¬μ„±μ˜ ν’ˆμ§ˆμ„ λ³΄μ—¬μ€λ‹ˆλ‹€.

거친 μ½”νŒ… λž¨λ²„νŠΈμ˜ 2μ°¨ 둜브

우리의 뢄석에 λ”°λ₯΄λ©΄, Ξ·>1\eta > 1Ξ·>1의 경우 거친 μ½”νŒ… λž¨λ²„νŠΈμ˜ 2μ°¨ λ‘œλΈŒλŠ” μ‹œκ°μ μœΌλ‘œ ν™•μ‚° λ‘œλΈŒμ™€ κ°€κΉμŠ΅λ‹ˆλ‹€. 근사 GGX 둜브(μž…μ‚¬ λ°©ν–₯으둜 셰이딩 노멀을 μ‚¬μš©) λ˜λŠ” ν™•μ‚° 둜브λ₯Ό μ‚¬μš©ν•˜λ©΄ μœ μ‚¬ν•œ 외관을 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ Ξ·<1\eta < 1Ξ·<1의 κ²½μš°μ—λŠ” κ·Έλ ‡μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이 경우 둜브의 뢄산은 μ „λ°˜μ‚¬(TIR)에 μ˜ν•΄ μ œν•œλ˜λ©°, λ“±κ°€ 뢄산을 κ°€μ§„ GGX λ‘œλΈŒκ°€ λΆˆμ—°μ†μ„±μ„ μΌμΉ˜μ‹œν‚΅λ‹ˆλ‹€(κ·Έλ¦Ό 11 μ°Έμ‘°).

7. κ²°κ³Ό

Mitsubaμ—μ„œμ˜ 검증

μš°λ¦¬λŠ” Mitsuba [Jakob 2010]의 μ»€μŠ€ν…€ ν”ŒλŸ¬κ·ΈμΈμ„ 톡해 거친 μ½”νŒ… λž¨λ²„νŠΈ λͺ¨λΈμ„ κ²€μ¦ν–ˆμŠ΅λ‹ˆλ‹€. 이 μ»€μŠ€ν…€ ν”ŒλŸ¬κ·ΈμΈμ„ μž„μ˜μ˜ 측상 재료λ₯Ό λ Œλ”λ§ν•  수 μžˆλŠ” ν™•λ₯ μ  μ°Έμ‘° λͺ¨λΈκ³Ό λΉ„κ΅ν–ˆμŠ΅λ‹ˆλ‹€ (Guo [2018]와 μœ μ‚¬).

κ·Έλ¦Ό 7은 일뢀 μœ λ‹› ν…ŒμŠ€νŠΈλ₯Ό λ³΄μ—¬μ€λ‹ˆλ‹€. μΆ”κ°€ 결과와 μ†ŒμŠ€ μ½”λ“œλŠ” 보좩 자료λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€. Weidlich와 Wilkie [2007]의 이전 μ‹€μ‹œκ°„ ν˜Έν™˜ λͺ¨λΈκ³Ό 달리, 우리의 λͺ¨λΈμ€ 닀쀑 μ‚°λž€μ„ κ³ λ €ν•©λ‹ˆλ‹€(κ·Έλ¦Ό 8 μ°Έμ‘°).

μš°λ¦¬λŠ” Ξ·<1\eta < 1Ξ·<1의 ꡬ성이 κ·ΈλŸ΄λ“―ν•œ 뢄포λ₯Ό 생성함을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€ (κ·Έλ¦Ό 7, μ™Όμͺ½ μ—΄). μ—¬κΈ°μ„œ λ‚΄λΆ€μ˜ λΉ¨κ°„ μ›νŒμ€ λž¨λ²„νŠΈ κΈ°μ €λ‘œ μ „μ†‘λœ 광선을 λ‚˜νƒ€λ‚΄κ³ , μ›νŒμ˜ μ™ΈλΆ€λŠ” 순수 λ°˜μ‚¬λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

μ΄λŸ¬ν•œ ꡬ성은 ν˜„μ‹€μ μ΄μ§€ μ•Šμ§€λ§Œ, μ„œλ‘œ λ‹€λ₯Έ 재료λ₯Ό 측측이 μŒ“μ„ λ•Œ μ€‘μš”ν•©λ‹ˆλ‹€.

μ‹€μ‹œκ°„ ν”„λ‘œν† νƒ€μž…

μš°λ¦¬λŠ” 거친 μ½”νŒ… λž¨λ²„νŠΈ λͺ¨λΈμ„ GLSL ν”„λž˜κ·Έλ¨ΌνŠΈ μ…°μ΄λ”λ‘œ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

이 데λͺ¨λŠ” ν™˜κ²½ 맡을 μœ„ν•΄ 사전 ν•„ν„°λ§λœ 이미지 기반 μ‘°λͺ… [Lagarde and De Rousiers 2014]을 μ‚¬μš©ν•©λ‹ˆλ‹€. 이 μ…°μ΄λ”λŠ” Mitsuba의 ν™•λ₯ μ  참쑰와 μ‹œκ°μ μœΌλ‘œ μΌμΉ˜ν•©λ‹ˆλ‹€(κ·Έλ¦Ό 4 μ°Έμ‘°).

이 ν”„λ‘œν† νƒ€μž…μ—μ„œ, RTX 2070μ—μ„œ 720p ν•΄μƒλ„λ‘œ 전체 화면을 μ…°μ΄λ”©ν•˜λŠ” 데 ν”„λ ˆμž„λ‹Ή μ•½ 0.5msκ°€ μ†Œμš”λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ λΉ„λ””μ˜€λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

Unityμ—μ„œμ˜ λ Œλ”λ§

μš°λ¦¬λŠ” 이 셰이더λ₯Ό Unity의 고해상도 λ Œλ” νŒŒμ΄ν”„λΌμΈ [Lagarde et al. 2018]에 μ»€μŠ€ν…€ ν¬μ›Œλ“œ 패슀둜 ν¬νŒ…ν–ˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ 우리의 λͺ¨λΈμ€ μΈν„°λž™ν‹°λΈŒ ν”„λ ˆμž„ 레이트둜 μ‹€ν–‰λ˜λ©°, μ•„ν‹°μŠ€νŠΈκ°€ ν…μŠ€μ²˜λ‘œ λ§€κ°œλ³€μˆ˜λ₯Ό 자유둭게 λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλ¦Ό 1μ—μ„œ μš°λ¦¬λŠ” μ½”νŒ…λœ 세라믹과 래컀 ν‘œλ©΄μ˜ 외관을 μž¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” μ•Œλ² λ„μ™€ κ±°μΉ κΈ°(μ™Όμͺ½) λ˜λŠ” ꡴절λ₯ (였λ₯Έμͺ½)을 ν…μŠ€μ²˜λ§ν•˜μ—¬ μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€.

κ·Έλ¦Ό 9μ—μ„œλŠ” 흑수 Ο„\tauΟ„λ₯Ό μ‚¬μš©ν•˜μ—¬ μ•Œλ² λ„λ§ŒμœΌλ‘œλŠ” μž¬ν˜„ν•  수 μ—†λŠ” κ³ λ‹ˆμ˜€ν¬λ‘œλ§€ν‹±(goniochromatic, κ΄€μ°° 각도에 따라 색상이 λ³€ν•˜λŠ” νŠΉμ„±) 효과λ₯Ό μΆ”κ°€ν•˜λŠ” 방법을 λ³΄μ—¬μ€λ‹ˆλ‹€.

측상 재료의 검증

μš°λ¦¬λŠ” μ—…λ°μ΄νŠΈλœ μΆ”κ°€-이쀑화 μ•Œκ³ λ¦¬μ¦˜μ„ Mitsuba λ Œλ”λ§ 엔진에 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ„œ μš°λ¦¬λŠ” λž¨λ²„νŠΈ κΈ°μ € μœ„μ— 2개의 μœ μ „μ²΄ 측으둜 κ΅¬μ„±λœ ν‘œλ©΄μ˜ 외관을 μž¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. 우리의 λͺ¨λΈμ„ ν™•λ₯ μ  참쑰와 λΉ„κ΅ν–ˆμœΌλ©°, 우리의 λͺ¨λΈμ΄ μ‹œκ°μ μœΌλ‘œ 참쑰에 κ°€κΉλ‹€λŠ” 것을 λ³΄μ—¬μ€λ‹ˆλ‹€(κ·Έλ¦Ό 10).

8. ν•œκ³„

μž„κ³„κ°

κ±°μΉ κΈ°κ°€ 맀우 μž‘κ³  Ξ·<1\eta < 1Ξ·<1인 경우, μž„κ³„κ°μ€ κ²°κ³Ό BRDFμ—μ„œ λšœλ ·ν•œ λΆˆμ—°μ†μ„±μ„ μƒμ„±ν•©λ‹ˆλ‹€. μš°λ¦¬κ°€ μ΄λŸ¬ν•œ 뢄포λ₯Ό GGX 둜브둜 κ·Όμ‚¬ν•˜κ³  있기 λ•Œλ¬Έμ— 이λ₯Ό μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

이 νš¨κ³ΌλŠ” λ°˜μ‚¬μœ¨ R01R_{01}R01​과 투과율 T01T_{01}T01​에 μ˜ν•΄ μ™„ν™”λ˜μ§€λ§Œ, 이 경우 μž¬κ΅¬μ„±μ˜ ν’ˆμ§ˆμ€ ν•΄λ‹Ή ν…Œμ΄λΈ”μ˜ 해상도에 따라 λ‹¬λΌμ§‘λ‹ˆλ‹€.

이방성과 μ°Έμ—¬ 맀질

μš°λ¦¬λŠ” λͺ¨λΈμ„ 거친 λ“±λ°©μ„± μœ μ „μ²΄ μ½”νŒ…μœΌλ‘œ μ œν•œν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 사전 κ³„μ‚°λœ ν…Œμ΄λΈ”μ— 좔가적인 κ±°μΉ κΈ° 차원을 μΆ”κ°€ν•˜λŠ” 것은 λ°©λ²•μ˜ 핡심을 λ³€κ²½ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€.

μš°λ¦¬λŠ” λͺ‡ 개의 κΈ°μ € 성뢄을 μ‚¬μš©ν•˜μ—¬ 이 차원을 쀄일 수 μžˆμ„ 것이라고 κ°€μ •ν•©λ‹ˆλ‹€. 또 λ‹€λ₯Έ μ œν•œ 사항은 맀질 λ‚΄μ—μ„œ 닀쀑 μ‚°λž€μ„ κ³ λ €ν•˜μ§€ μ•Šμ•˜λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 전솑은 λ§Žμ€ 둜브 λ°©ν–₯을 좔적해야 ν•˜λ©° [Randrianandrasana et al. 2021], μ΄λŠ” μ„±λŠ₯에 뢀정적인 영ν–₯을 λ―ΈμΉ©λ‹ˆλ‹€.

9. κ²°λ‘ 

μš°λ¦¬λŠ” λž¨λ²„νŠΈ κΈ°μ € μœ„μ— 거친 μœ μ „μ²΄ 계면이 μ½”νŒ…λ˜κ³  흑수 맀질둜 λΆ„λ¦¬λœ 세라믹과 μœ μ‚¬ν•œ ν‘œλ©΄μ„ μ‹€μ‹œκ°„μœΌλ‘œ λ Œλ”λ§ν•˜κΈ° μœ„ν•œ μƒˆλ‘œμš΄ 셰이딩 λͺ¨λΈμ„ μ œμ‹œν–ˆμŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” μΈ΅ κ΅¬μ‘°μ—μ„œ λΉ› μ „μ†‘μ˜ 처음 μ„Έ κ°€μ§€ λͺ¨λ©˜νŠΈμ— λŒ€ν•œ 수치적 연ꡬλ₯Ό λ°”νƒ•μœΌλ‘œ 이 λͺ¨λΈμ„ κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.

두 개의 BRDF 둜브둜 κ΅¬μ„±λœ 우리의 λͺ¨λΈμ΄ μ‹€μ œ 값을 μ •ν™•ν•˜κ²Œ μž¬ν˜„ν•¨μ„ λ³΄μ˜€μŠ΅λ‹ˆλ‹€. μš°λ¦¬λŠ” ν•„μš”ν•œ ν…Œμ΄λΈ”μ„ 차원 μΆ•μ†Œλ₯Ό 톡해 관리 κ°€λŠ₯ν•œ 크기둜 μ••μΆ•ν•˜μ—¬ 이 λͺ¨λΈμ„ μ‹€μ‹œκ°„ μ œμ•½μ— 맞게 μ‘°μ •ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 톡계λ₯Ό ν™œμš©ν•˜μ—¬ Belcour [2018]의 측상 BRDF ν”„λ ˆμž„μ›Œν¬μ— λž¨λ²„νŠΈ 계면 지원을 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 μ‹€μ‹œκ°„μœΌλ‘œ 물리적으둜 κΈ°λ°˜ν•œ μ™Έκ΄€μ˜ λ²”μœ„λ₯Ό λ„“νž 수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ €μž‘κΆŒ κ΄€λ ¨ 사항 λ°œμƒμ‹œ μ‚­μ œλ  수 μžˆλŠ” κΈ€μž…λ‹ˆλ‹€.


λΉ„λ°€λ²ˆν˜Έκ°€ ν‹€λ¦½λ‹ˆλ‹€.

Graphic, Translate
This post is licensed under CC BY 4.0 by the author.
Share
Contents

Further Reading

Jun 11, 2024

PBR(Physically Based Rendering)

PBR(Physically Based Rendering) κ°œμš” PBR(Physically Based Rendering)은 ν˜„μ‹€ μ„Έκ³„μ˜ 물리적 법칙을 기반으둜 이미지λ₯Ό λ Œλ”λ§ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€. PBR의 λͺ©ν‘œλŠ” ν˜„μ‹€μ μ΄κ³  μΌκ΄€λœ κ²°κ³Όλ₯Ό μ œκ³΅ν•˜μ—¬ μ‹œκ°μ μœΌλ‘œ 섀득λ ₯ μžˆλŠ” 이미지λ₯Ό μƒμ„±ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ PBR은 ν‘œλ©΄μ˜ 물리적 νŠΉμ„±μ„ μˆ˜ν•™μ μœΌλ‘œ λͺ¨λΈ...

May 24, 2022

ν’€ μ§€μ˜€λ©”νŠΈλ¦¬ 쉐이더

2022λ…„ 5μ›” 24일 기본적 κ΅¬ν˜„ μ΄λ²ˆμ—λŠ” κ°•μ˜μ€‘μ— μž μ‹œ μ–ΈκΈ‰λœ GrassShaderλ₯Ό κ΅¬ν˜„ν•΄ λ³Ό κ²ƒμž…λ‹ˆλ‹€. κ΅¬ν˜„λ¬Ό μž¬λ£ŒλŠ”β€¦. https://roystan.net/articles/grass-shader.html https://catlikecoding.com/unity/tutorials/advanced-rendering/tesse...

Jun 19, 2024

이끼 λ²„ν…μŠ€ λΈ”λ Œλ“œ 쉐이더 μ œμž‘

μ‘Έμ—…μž‘ν’ˆ ν”„λ‘œμ νŠΈ νŒ€μ„ λ“€μ–΄κ°€λ‹ˆ μš”μ²­μ„ λ°›μ•˜μŠ΅λ‹ˆλ‹€. ν˜„μž¬ μœ μ μ΄λ‚˜ 돌 λͺ¨λ“ˆ 등에 이끼 ν‘œν˜„μ΄ λ“€μ–΄κ°€λŠ”λ°, μžμ—°μŠ€λŸ½κ²Œ ν‘œν˜„ν•  수 μžˆλŠ” 쉐이더가 ν•„μš”ν•©λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ ν•„μš”ν•œ λ¨Έν…Œλ¦¬μ–Όμ΄ μžˆλ‹€λ©΄ μš”μ²­ν•΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€. κ²°κ³Όλ¬Ό Day 2 μž‘μ—…λ¬Όμž…λ‹ˆλ‹€ μš”μ²­μ‚¬ν•­ 뢄석 ν•΄λ‹Ή μ •λ³΄λ‘œλŠ” μ •ν™•νžˆ μš”μ²­μ‚¬ν•­ 뢄석이 μ–΄λ €μ› μŠ΅λ‹ˆλ‹€. ν˜„μž¬ 유적...

Kuwahara filter

(πŸ”’) PS κ°œλ°œλ¬Έμ„œ

Β© 2024 Jung Jisang. Some rights reserved.

Powered by Jekyll with Chirpy theme.