일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ColorGradingLutPass
- Virtual Byte
- Rim Light
- 벡터
- C언어
- 게임 수학
- Private Bytes
- ASW(Application SpaceWarp)
- Toon Shader
- 3d
- Three(Two) Tone Shading
- 작업 집합
- Cell Shader
- OculusMotionVectorPass
- Cell Look
- AppSW
- Cartoon Rendering
- Windows Build
- VR
- 개인 바이트
- 메모리 누수
- URP로 변경
- working set
- 가상 바이트
- URP
- 프로그래밍 기초
- Specular
- Today
- Total
WinCNT
Blur 본문
Post Processing : 실시간 이미지 보정
Post Processing의 한계
이미지 왜곡은 불가능하다
Warping, Morphy 등
Morphy는 캐릭터 표정 변화에 사용하기도 한다
(표정 2개를 만들고 버텍스를 보간)
Blur(혹은 Bokeh)
Bloom 필터를 최초로 잘 만든 사람이 일본인(마사키 카와세)이라
Bokeh라는 용어가 전문 용어로도 사용되고 있다
Blur는 이미지를 흐릿하게 번지게 하는 것
가장 유명한 Blur 알고리즘은 Gaussian Blur이다
Gaussian 분포 함수
Gaussian Blur에 사용되는 함수
2차원
Plot[(E^(-(x^2)/2))/(Sqrt[2Pi]),{x,-4,4}]
3차원
Plot3D[(E^(-(((x^2)+(y^2))/(2*(1.398)^2))))/(Sqrt[2Pi]*(1.398)^2),{x,-4,4}, {y,-4,4}]
위의 식을 Wolfram Alpha에서 치면 그래프가 나온다
다양한 Gaussian 분포 함수
Gaussian 분포 함수는 여러 종류가 있다
어떠한 함수를 쓰느냐에 따라서 가중치가 달라져서 블러도 바뀌게 된다
Gaussian Blur의 원리
천천히 조사해보자...
Blur 적용의 팁
축소 버퍼를 사용해라!
Blur를 더 잘 적용하기 위해서는 이미지를 축소 버퍼(가로/2, 세로/2의 버퍼)에 넣어야 한다
이미지를 축소할 때는 그다지 차이가 나지 않지만
이미지가 확대할 때는 필터(Linear 필터)가 크게 적용된다
즉 작은 버퍼에 이미지를 축소하고,
Blur를 적용하면 나중에 커지면서 필터가 적용되고 Blur가 잘 적용된다
(반면 Blur를 적용한 텍스처를 그대로 원본과 합치면 Blur가 그다지 예쁘게 적용되지 않음)
단순히 축소 버퍼의 이미지들을 합치기만 해도 Blur의 효과가 나온다!
(축소된 버퍼를 Upscaling, Upsampling할 때 자동적으로 Linear필터가 적용됨)
샘플링 테크닉
5번의 샘플링으로 20개의 픽셀을 샘플링 할 수 있다!!
Blur 같은 테크니겡서는 매우 유용한 샘플링 기법
Cone Filter
한 픽셀의 주변 픽셀를 읽어 오면 샘플링 되는 횟수가 Gaussian 분포 함수를 띄게 된다
SSS
'게임 프로그래밍(학습 내용 정리) > 게임 수학' 카테고리의 다른 글
Motion Blur (0) | 2022.06.21 |
---|---|
Radial Blur (0) | 2022.06.14 |
NPR(None Photo Realistic) - Cartoon (0) | 2022.06.07 |
PBR - 2회차 (0) | 2022.06.07 |
VRAM과 PCI express (0) | 2022.06.07 |