WinCNT

Pixelate 본문

게임 프로그래밍(학습 내용 정리)/게임 수학

Pixelate

WinCNT_SSS 2022. 6. 21. 15:12

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