Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- AppSW
- Cell Shader
- OculusMotionVectorPass
- 메모리 누수
- ColorGradingLutPass
- 작업 집합
- VR
- URP로 변경
- Windows Build
- URP
- 벡터
- Virtual Byte
- 가상 바이트
- Rim Light
- Cell Look
- C언어
- Private Bytes
- Specular
- Cartoon Rendering
- 개인 바이트
- 게임 수학
- 프로그래밍 기초
- ASW(Application SpaceWarp)
- Toon Shader
- working set
- Three(Two) Tone Shading
- 3d
Archives
- Today
- Total
WinCNT
Pixelate 본문
Cartoon Rendering와 원리가 비슷하다
Cartoon Rendering은 명암 값(N dot L)의 값을 불연속으로 바꾸는 것이라면
Pixelate는 UV 텍스처 좌표를 불연속 값으로 바꾸는 것이다
(0.0 ~ 1.0 사이의 UV텍스처 좌표를 불연속(discontinuous) 값으로 바꿈)
실제로 적용할 식은 round(x * 16) / 16(x = 0 to 1)
위와 같은 함수를 적용하면 16픽셀의 이미지로 바뀌게 된다
Pixelate Code
float4 Pixelate( sampler2D s, float2 uv )
{
uv = round( uv * _PixelSize ) / _PixelSize; // round()외에 ceil()이나 floor()를 써서 테스트 해보자
return tex2D( s, uv );
}
SSS
'게임 프로그래밍(학습 내용 정리) > 게임 수학' 카테고리의 다른 글
DOF(Depth Of Field) (0) | 2022.06.21 |
---|---|
Posterize (0) | 2022.06.21 |
Bloom (0) | 2022.06.21 |
Motion Blur (0) | 2022.06.21 |
Radial Blur (0) | 2022.06.14 |