SlideShare a Scribd company logo
Custom Fabric Shader
for Unreal Engine 4
Gregory Dongseok Kim
2016-04-11
■ Two types of Fabric
⚬ Non-Metal: Cotton, denim, flax and common fabrics
⚬ Metal: Silk, satin, velvet, nylon and polyester
■ The Order approach
■ Limitations of Unreal Engine shader
■ My approach
⚬ Oren-nayar diffuse shading
⚬ Specular Term
⚬ Fiber Scatter Term
■ Result
Overview
2
Two types of Fabric: Non-Metal
■ Cotton, Denim, Flax and Common fabrics
⚬ Tiny furs on each fibers
⬝ Roughness value of those fabrics is always 1.0 unless they
wet
⬝ Reflect lights to random directions
⬝ It induces not only front scattering but also back scattering
Fuzz on rim part
⚬ Specular lobe is widely spread on view direction surface
⬝ Specular color is white but it is looked like desaturated color
of base one because of front scattering
3
Two types of Fabric: Metal (1)
■ Silk, Satin, Velvet, Nylon and Polyester
⚬ Silk has round triangular cross section and smooth surface
⬝ It induces simiral reflection with metal
⬝ Smooth surface: Reflects lights as perfect as metal surface
⬝ Triangular cross section: Reflects specific light wave
⚬ Silk can have Roughness value around 0.3 - 0.7
⬝ Thickness of each fibers is 5 - 10 μm
⬝ Thin to make smooth surface as metal
4
Two types of Fabric: Metal (2)
■ Special properties of Silk and Satin
⚬ They have much less fuzz on rim part then
cotton or common fabrics
⬝ Their intensive structure makes similar
specluar with metal’s one
⚬ They can have various specular colors
⬝ If they are woven by different colors
strings
⬝ Specular color can be changed by view
direction
⚬ They have anistropic specular shape
5
Two types of Fabric: Metal (3)
■ Special properties of Velvet
⚬ Tiny fibers are attached on the surface
⬝ Its Roughness value has to be 1.0
⬝ If the light is behind, those fibers give foward scattering
and it gives rim light effect on edge part
⚬ Diffuse shading is simiral with metal’s diffusion
⬝ Its surface color is darker than original color of fibers
6
The Order approach1
■ Custom microfiber model
⚬ Ashikhmin’s Distribution based BRDF for fresnel term
⚬ Inverse Gausian for specular term
⚬ No geometry term to improve rim light effect
⚬ Smoother specular than GGX
■ Future works
⚬ Ambient specular
⚬ Modify fresnel term to match with direct light
7
Goal of my approach
■ Shading model for every types of fabrics
⚬ From cotton to velvet
⚬ Easy to use for artists
■ Technical perspective
⚬ Oren-nayar diffusion
⚬ Specular term for fabrics
⚬ 2 colors specular
⚬ Fresnel term which is toward to light direction
8
Limitations of Unreal Engine shader
■ Hard to implement custom shading model
⚬ Diffuse shading: Lambert
⚬ No way to change specular model
■ Base Color slot can be only available slot to input custom shading code, but
⚬ The value is clamped as 0.0 - 1.0
⚬ Range of value is too narrow to use specular light
Fortunately, fabrics do not need strong specular, so its specular can be
implemented to Base Color
9
My approach - Diffuse term (1)
■ Oren-nayar diffuse shading
⚬ Based on Pope Kim’s approximation
⚬ It is not matched with real Oren-nayar shading, but its quality is great, cheap and easy to
implement
■ Removing (n∙l) from the original code
10
1
My approach - Diffuse term (2)
■ Replace (n∙l) to 1.0
■ Output value multiplys Base Color
■ If surface is smooth(Roughness = 0.0), than uses Unreal default diffuse
shading
11
My approach - Specular (1)
(Fresnel Term × Specular) + Fiber Scatter
■ Fresnel Term
⚬ Fuzz on rim part
■ Specular Term
⚬ Customized inverse gausian specular
⚬ For describing back scattering
⚬ Secondary specular lobe
■ Fiber Scatter Term
⚬ For describing front scattering
⚬ Primary specular lobe
12
My approach - Specular (2)
■ Fresnel term
⚬ Based on Schlick Fresnel approximation1
⬝
⚬ Modified 5th power of 1 - cosθd
to 4th power for increasing rim lighting effect
13
My approach - Specular (3)
■ Specular Term
⚬ Based on The Order’s approach
⬝ iverse gausian specular
⚬ Not related with Roughness value, but much simpler equation
⬝ Result is simiral with The Order’s approach when Roughness value is 1.0
⬝ I premise every non-metal fabrics’s roughness value is 1.0
If fabric surface has lower roughness than 1.0, using Unreal default specular term
Primary specular is implemented in Fiber scatter term
⚬ Masking fresnel term and it induces light direction toward rim lighting
14
My approach - Specular (3)
■ Roughness value
⚬ GGX: 0.65
⚬ The Order: 1.0
⚬ My approach: 1.0
15
My approach - Fiber Scatter Term (1)
■ Fiber Scatter Term
⚬ Wrap lighting for front scattering
⬝ Week transmission effect for the eye facing surface
⬝ Can be used as a secondary specular color for metal fabrics such as Silk or stain
⚬ Linear interpolation between two types of fresnel
⬝ First one is wider
⬝ Second one is narrwer
⬝ Blend them by fabric scatter amount value
Can describe from fuzzy cotton to smooth denim
⬝ Fabric scattering color is multiplied to this value
16
My approach - Fiber Scatter Term (2)
■ Wrap lighting
17
My approach - Fiber Scatter Term (3)
■ Linear interpolation between two types of fresnel
18
My approach - Final
19
Result - Fabric scatter amount compare
■ Define which part will use fabric scatter color
⚬ If the value is 0, than rim part will use fabric scatter color
⚬ If the value is getting increased, area of fabric scatter color is getting wider
⚬ If the value is 1.0, most of surface is fabric scatter color and rim part is base color
20
Result - Fabric examples (1)
21
Cotton
Velvet
Result - Fabric examples (2)
■ Hint to make good look fabric material with my approach
⚬ Set Metalic value for ratio of silk fibers in the fabric
⚬ Only Metal fabrics can have lower Roughness value than 1.0
⚬ Do not use Normal map to describe patterns on silk surface
⬝ Using different values of Roughness for pattern and non-pattern part
22
Satin
Recomend values for fabrics
23
Fabric Types Metalic Roughness Fabric Scatter amount
Cotton or ordinary
fabrics
0 1 0.5
Velvat 1 1 0
Silk, Satin 0.8 - 0.9 0.35 - 0.7 1
Bibliography
■ Page 3
⚬ image 1: http://www.apparelsearch.com/fibers.htm
⚬ image 2: http://www.trimfabric.com/nv-97.html
■ Page 4
⚬ image 1: https://www.asahi-kasei.co.jp/fibers/en/cupro/what/function1.html
⚬ image 2: https://quizlet.com/92490419/intro-2-textiles-test-1-flash-cards/
⚬ image 3: https://quizlet.com/92490419/intro-2-textiles-test-1-flash-cards/
■ Page 5
⚬ image 2: https://wallpaperscraft.com/download/silk_material_soft_light_50576/3840x2160
■ Page 6
⚬ image 1: http://www.bloomsburgcarpet.com/resources/weave-structures
⚬ image 2: http://www.textilestock.in/productdetail/47/Fabrics-HomeFurnishingFabrics-Velvet-Velvet-Stock.html
24
Bibliography
■ Page 7
⚬ citation 1: Neubelt, David, Matt Pettineo, and Ready At Dawn Studios. "Crafting a Next-Gen
Material Pipeline for The Order: 1886." part of “Physically Based Shading in Theory and
Practice,” SIGGRAPH (2013).
■ Page 10
⚬ citation 1: http://www.slideshare.net/blindrenderer/rendering-tech-of-space-marinekgc-2011
■ Page 13
⚬ citation 1: Schlick, Christophe. “An inexpensive BRDF Model for Physically-based Rendering.”
Computer graphics forum 1 Aug. 1994: 233-246
25

More Related Content

What's hot (20)

PDF
언리얼 엔진 4용 커스텀 천 재질
동석 김
 
PDF
Cascade Shadow Mapping
Sukwoo Lee
 
PPTX
Triangle Visibility buffer
Wolfgang Engel
 
PDF
Rendering Tech of Space Marine
Pope Kim
 
PPTX
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
AMD Developer Central
 
PDF
Physically Based Lighting in Unreal Engine 4
Lukas Lang
 
PPTX
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Unity Technologies
 
PDF
Lighting of Killzone: Shadow Fall
Guerrilla
 
PDF
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
henjeon
 
PDF
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
Philip Hammer
 
PPTX
Robust Stenciled Shadow Volumes
Mark Kilgard
 
PDF
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
MinGeun Park
 
PPTX
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Electronic Arts / DICE
 
PDF
Ndc11 이창희_hdr
changehee lee
 
PDF
Lighting Shading by John Hable
Naughty Dog
 
PPTX
Real-time lightmap baking
Rosario Leonardi
 
PPTX
Optimizing the Graphics Pipeline with Compute, GDC 2016
Graham Wihlidal
 
PDF
Hair animation by vertex shader
동석 김
 
PPTX
Physically Based and Unified Volumetric Rendering in Frostbite
Electronic Arts / DICE
 
PDF
Volumetric Lighting for Many Lights in Lords of the Fallen
Benjamin Glatzel
 
언리얼 엔진 4용 커스텀 천 재질
동석 김
 
Cascade Shadow Mapping
Sukwoo Lee
 
Triangle Visibility buffer
Wolfgang Engel
 
Rendering Tech of Space Marine
Pope Kim
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
AMD Developer Central
 
Physically Based Lighting in Unreal Engine 4
Lukas Lang
 
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Unity Technologies
 
Lighting of Killzone: Shadow Fall
Guerrilla
 
Ndc2010 전형규 마비노기2 캐릭터 렌더링 기술
henjeon
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
Philip Hammer
 
Robust Stenciled Shadow Volumes
Mark Kilgard
 
[Ndc12] 누구나 알기쉬운 hdr과 톤맵핑 박민근
MinGeun Park
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Electronic Arts / DICE
 
Ndc11 이창희_hdr
changehee lee
 
Lighting Shading by John Hable
Naughty Dog
 
Real-time lightmap baking
Rosario Leonardi
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Graham Wihlidal
 
Hair animation by vertex shader
동석 김
 
Physically Based and Unified Volumetric Rendering in Frostbite
Electronic Arts / DICE
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Benjamin Glatzel
 

Viewers also liked (20)

PDF
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
Sumin Byeon
 
PDF
Behavior Tree in Unreal engine 4
Huey Park
 
PDF
Re:Zero부터 시작하지 않는 오픈소스 개발
Chris Ohk
 
PDF
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Jessica Tams
 
PDF
PyCon 2017 프로그래머가 이사하는 법 2 [천원경매]
Sumin Byeon
 
PDF
NDC16 스매싱더배틀 1년간의 개발일지
Daehoon Han
 
PDF
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
Lee Dustin
 
PDF
Online game server on Akka.NET (NDC2016)
Esun Kim
 
PDF
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
Imseong Kang
 
PDF
Docker
Huey Park
 
PDF
8년동안 테라에서 배운 8가지 교훈
Harns (Nak-Hyoung) Kim
 
PDF
김병관 성공캠프 SNS팀 자원봉사 후기
Harns (Nak-Hyoung) Kim
 
PPTX
Deep learning as_WaveExtractor
동윤 이
 
PDF
Luigi presentation NYC Data Science
Erik Bernhardsson
 
PDF
게임회사 취업을 위한 현실적인 전략 3가지
Harns (Nak-Hyoung) Kim
 
PDF
Profiling - 실시간 대화식 프로파일러
Heungsub Lee
 
PDF
Approximate nearest neighbor methods and vector models – NYC ML meetup
Erik Bernhardsson
 
PDF
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
Esun Kim
 
PPTX
영상 데이터의 처리와 정보의 추출
동윤 이
 
PDF
버텍스 셰이더로 하는 머리카락 애니메이션
동석 김
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
Sumin Byeon
 
Behavior Tree in Unreal engine 4
Huey Park
 
Re:Zero부터 시작하지 않는 오픈소스 개발
Chris Ohk
 
Developing Success in Mobile with Unreal Engine 4 | David Stelzer
Jessica Tams
 
PyCon 2017 프로그래머가 이사하는 법 2 [천원경매]
Sumin Byeon
 
NDC16 스매싱더배틀 1년간의 개발일지
Daehoon Han
 
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
Lee Dustin
 
Online game server on Akka.NET (NDC2016)
Esun Kim
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
Imseong Kang
 
Docker
Huey Park
 
8년동안 테라에서 배운 8가지 교훈
Harns (Nak-Hyoung) Kim
 
김병관 성공캠프 SNS팀 자원봉사 후기
Harns (Nak-Hyoung) Kim
 
Deep learning as_WaveExtractor
동윤 이
 
Luigi presentation NYC Data Science
Erik Bernhardsson
 
게임회사 취업을 위한 현실적인 전략 3가지
Harns (Nak-Hyoung) Kim
 
Profiling - 실시간 대화식 프로파일러
Heungsub Lee
 
Approximate nearest neighbor methods and vector models – NYC ML meetup
Erik Bernhardsson
 
자동화된 소스 분석, 처리, 검증을 통한 소스의 불필요한 #if - #endif 제거하기 NDC2012
Esun Kim
 
영상 데이터의 처리와 정보의 추출
동윤 이
 
버텍스 셰이더로 하는 머리카락 애니메이션
동석 김
 
Ad

Similar to Custom fabric shader for unreal engine 4 (20)

PDF
Unite2014: Mastering Physically Based Shading in Unity 5
Renaldas Zioma
 
PDF
Shaders - Claudia Doppioslash - Unity With the Best
BeMyApp
 
PPTX
Around the World in 80 Shaders
stevemcauley
 
PDF
Efficient Usage of Compute Shaders on Xbox One and PS4
Slide_N
 
PPT
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Mark Kilgard
 
PDF
Computer_vision-photometric_image_formation.pdf
kumarprem6767merp
 
PPT
Lighting and shading
eshveeen
 
PDF
Practical Spherical Harmonics Based PRT Methods
Naughty Dog
 
PPTX
Texture fashion design element
Irem Arikan Ekşi
 
PDF
Fabric.js @ Falsy Values
Juriy Zaytsev
 
PPTX
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
Prabindh Sundareson
 
PDF
IRJET- Real Time Vision System for Thread Counting in Woven Fabric
IRJET Journal
 
PPT
Far cry 3
sojuwugor
 
PDF
3 D texturing
krishn verma
 
PPSX
Practical spherical harmonics based PRT methods.ppsx
MannyK4
 
KEY
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barré-Brisebois
 
PDF
Vdis10041 fabric in fashion lecture 1 copy
Virtu Institute
 
PPTX
Green Custard Friday Talk 17: Ray Tracing
Green Custard
 
PPTX
Shaders & Standard Shader In Unity
Ehsan Ehrari
 
PPTX
Implementing a modern, RenderMan compliant, REYES renderer
Davide Pasca
 
Unite2014: Mastering Physically Based Shading in Unity 5
Renaldas Zioma
 
Shaders - Claudia Doppioslash - Unity With the Best
BeMyApp
 
Around the World in 80 Shaders
stevemcauley
 
Efficient Usage of Compute Shaders on Xbox One and PS4
Slide_N
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Mark Kilgard
 
Computer_vision-photometric_image_formation.pdf
kumarprem6767merp
 
Lighting and shading
eshveeen
 
Practical Spherical Harmonics Based PRT Methods
Naughty Dog
 
Texture fashion design element
Irem Arikan Ekşi
 
Fabric.js @ Falsy Values
Juriy Zaytsev
 
GFX Part 6 - Introduction to Vertex and Fragment Shaders in OpenGL ES
Prabindh Sundareson
 
IRJET- Real Time Vision System for Thread Counting in Woven Fabric
IRJET Journal
 
Far cry 3
sojuwugor
 
3 D texturing
krishn verma
 
Practical spherical harmonics based PRT methods.ppsx
MannyK4
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barré-Brisebois
 
Vdis10041 fabric in fashion lecture 1 copy
Virtu Institute
 
Green Custard Friday Talk 17: Ray Tracing
Green Custard
 
Shaders & Standard Shader In Unity
Ehsan Ehrari
 
Implementing a modern, RenderMan compliant, REYES renderer
Davide Pasca
 
Ad

Recently uploaded (20)

PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Comprehensive Risk Assessment Module for Smarter Risk Management
EHA Soft Solutions
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Tally software_Introduction_Presentation
AditiBansal54083
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
NEW-Viral>Wondershare Filmora 14.5.18.12900 Crack Free
sherryg1122g
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 

Custom fabric shader for unreal engine 4

  • 1. Custom Fabric Shader for Unreal Engine 4 Gregory Dongseok Kim 2016-04-11
  • 2. ■ Two types of Fabric ⚬ Non-Metal: Cotton, denim, flax and common fabrics ⚬ Metal: Silk, satin, velvet, nylon and polyester ■ The Order approach ■ Limitations of Unreal Engine shader ■ My approach ⚬ Oren-nayar diffuse shading ⚬ Specular Term ⚬ Fiber Scatter Term ■ Result Overview 2
  • 3. Two types of Fabric: Non-Metal ■ Cotton, Denim, Flax and Common fabrics ⚬ Tiny furs on each fibers ⬝ Roughness value of those fabrics is always 1.0 unless they wet ⬝ Reflect lights to random directions ⬝ It induces not only front scattering but also back scattering Fuzz on rim part ⚬ Specular lobe is widely spread on view direction surface ⬝ Specular color is white but it is looked like desaturated color of base one because of front scattering 3
  • 4. Two types of Fabric: Metal (1) ■ Silk, Satin, Velvet, Nylon and Polyester ⚬ Silk has round triangular cross section and smooth surface ⬝ It induces simiral reflection with metal ⬝ Smooth surface: Reflects lights as perfect as metal surface ⬝ Triangular cross section: Reflects specific light wave ⚬ Silk can have Roughness value around 0.3 - 0.7 ⬝ Thickness of each fibers is 5 - 10 μm ⬝ Thin to make smooth surface as metal 4
  • 5. Two types of Fabric: Metal (2) ■ Special properties of Silk and Satin ⚬ They have much less fuzz on rim part then cotton or common fabrics ⬝ Their intensive structure makes similar specluar with metal’s one ⚬ They can have various specular colors ⬝ If they are woven by different colors strings ⬝ Specular color can be changed by view direction ⚬ They have anistropic specular shape 5
  • 6. Two types of Fabric: Metal (3) ■ Special properties of Velvet ⚬ Tiny fibers are attached on the surface ⬝ Its Roughness value has to be 1.0 ⬝ If the light is behind, those fibers give foward scattering and it gives rim light effect on edge part ⚬ Diffuse shading is simiral with metal’s diffusion ⬝ Its surface color is darker than original color of fibers 6
  • 7. The Order approach1 ■ Custom microfiber model ⚬ Ashikhmin’s Distribution based BRDF for fresnel term ⚬ Inverse Gausian for specular term ⚬ No geometry term to improve rim light effect ⚬ Smoother specular than GGX ■ Future works ⚬ Ambient specular ⚬ Modify fresnel term to match with direct light 7
  • 8. Goal of my approach ■ Shading model for every types of fabrics ⚬ From cotton to velvet ⚬ Easy to use for artists ■ Technical perspective ⚬ Oren-nayar diffusion ⚬ Specular term for fabrics ⚬ 2 colors specular ⚬ Fresnel term which is toward to light direction 8
  • 9. Limitations of Unreal Engine shader ■ Hard to implement custom shading model ⚬ Diffuse shading: Lambert ⚬ No way to change specular model ■ Base Color slot can be only available slot to input custom shading code, but ⚬ The value is clamped as 0.0 - 1.0 ⚬ Range of value is too narrow to use specular light Fortunately, fabrics do not need strong specular, so its specular can be implemented to Base Color 9
  • 10. My approach - Diffuse term (1) ■ Oren-nayar diffuse shading ⚬ Based on Pope Kim’s approximation ⚬ It is not matched with real Oren-nayar shading, but its quality is great, cheap and easy to implement ■ Removing (n∙l) from the original code 10 1
  • 11. My approach - Diffuse term (2) ■ Replace (n∙l) to 1.0 ■ Output value multiplys Base Color ■ If surface is smooth(Roughness = 0.0), than uses Unreal default diffuse shading 11
  • 12. My approach - Specular (1) (Fresnel Term × Specular) + Fiber Scatter ■ Fresnel Term ⚬ Fuzz on rim part ■ Specular Term ⚬ Customized inverse gausian specular ⚬ For describing back scattering ⚬ Secondary specular lobe ■ Fiber Scatter Term ⚬ For describing front scattering ⚬ Primary specular lobe 12
  • 13. My approach - Specular (2) ■ Fresnel term ⚬ Based on Schlick Fresnel approximation1 ⬝ ⚬ Modified 5th power of 1 - cosθd to 4th power for increasing rim lighting effect 13
  • 14. My approach - Specular (3) ■ Specular Term ⚬ Based on The Order’s approach ⬝ iverse gausian specular ⚬ Not related with Roughness value, but much simpler equation ⬝ Result is simiral with The Order’s approach when Roughness value is 1.0 ⬝ I premise every non-metal fabrics’s roughness value is 1.0 If fabric surface has lower roughness than 1.0, using Unreal default specular term Primary specular is implemented in Fiber scatter term ⚬ Masking fresnel term and it induces light direction toward rim lighting 14
  • 15. My approach - Specular (3) ■ Roughness value ⚬ GGX: 0.65 ⚬ The Order: 1.0 ⚬ My approach: 1.0 15
  • 16. My approach - Fiber Scatter Term (1) ■ Fiber Scatter Term ⚬ Wrap lighting for front scattering ⬝ Week transmission effect for the eye facing surface ⬝ Can be used as a secondary specular color for metal fabrics such as Silk or stain ⚬ Linear interpolation between two types of fresnel ⬝ First one is wider ⬝ Second one is narrwer ⬝ Blend them by fabric scatter amount value Can describe from fuzzy cotton to smooth denim ⬝ Fabric scattering color is multiplied to this value 16
  • 17. My approach - Fiber Scatter Term (2) ■ Wrap lighting 17
  • 18. My approach - Fiber Scatter Term (3) ■ Linear interpolation between two types of fresnel 18
  • 19. My approach - Final 19
  • 20. Result - Fabric scatter amount compare ■ Define which part will use fabric scatter color ⚬ If the value is 0, than rim part will use fabric scatter color ⚬ If the value is getting increased, area of fabric scatter color is getting wider ⚬ If the value is 1.0, most of surface is fabric scatter color and rim part is base color 20
  • 21. Result - Fabric examples (1) 21 Cotton Velvet
  • 22. Result - Fabric examples (2) ■ Hint to make good look fabric material with my approach ⚬ Set Metalic value for ratio of silk fibers in the fabric ⚬ Only Metal fabrics can have lower Roughness value than 1.0 ⚬ Do not use Normal map to describe patterns on silk surface ⬝ Using different values of Roughness for pattern and non-pattern part 22 Satin
  • 23. Recomend values for fabrics 23 Fabric Types Metalic Roughness Fabric Scatter amount Cotton or ordinary fabrics 0 1 0.5 Velvat 1 1 0 Silk, Satin 0.8 - 0.9 0.35 - 0.7 1
  • 24. Bibliography ■ Page 3 ⚬ image 1: http://www.apparelsearch.com/fibers.htm ⚬ image 2: http://www.trimfabric.com/nv-97.html ■ Page 4 ⚬ image 1: https://www.asahi-kasei.co.jp/fibers/en/cupro/what/function1.html ⚬ image 2: https://quizlet.com/92490419/intro-2-textiles-test-1-flash-cards/ ⚬ image 3: https://quizlet.com/92490419/intro-2-textiles-test-1-flash-cards/ ■ Page 5 ⚬ image 2: https://wallpaperscraft.com/download/silk_material_soft_light_50576/3840x2160 ■ Page 6 ⚬ image 1: http://www.bloomsburgcarpet.com/resources/weave-structures ⚬ image 2: http://www.textilestock.in/productdetail/47/Fabrics-HomeFurnishingFabrics-Velvet-Velvet-Stock.html 24
  • 25. Bibliography ■ Page 7 ⚬ citation 1: Neubelt, David, Matt Pettineo, and Ready At Dawn Studios. "Crafting a Next-Gen Material Pipeline for The Order: 1886." part of “Physically Based Shading in Theory and Practice,” SIGGRAPH (2013). ■ Page 10 ⚬ citation 1: http://www.slideshare.net/blindrenderer/rendering-tech-of-space-marinekgc-2011 ■ Page 13 ⚬ citation 1: Schlick, Christophe. “An inexpensive BRDF Model for Physically-based Rendering.” Computer graphics forum 1 Aug. 1994: 233-246 25