본문으로 바로가기

shader gamma test

category Technical Report/Graphics Tech Reports 2021. 3. 3. 16:44
반응형

감마이야기 살짝. 디테일은 대마왕님의 감마가 어디감마 참조

https://www.slideshare.net/jpcorp/ss-96115075

 

shader에서 실제 값이 어떻게 출력되는지를 알아보는 아주 간단한 테스트.

color = 0.5 로 return 했을때.

Gamma decording은 pow = (color, 4562634) //약간의 값 오차는 발생한다.(RGB - 188이 아닌 G채널만 187로 출력)

 

1. Shader 0.5 return value.

2. texture(0) + 0.5

3. texture에서 0.5 입력한 값(입력 0.5이지만 실제는 이보다 어둡게 감마보정된 상태로 출력된다. 스포이드로 찍어보면 0.5로 나옴)

4. 3의 값에 gamma decording 적용. 스포이드로 찍어보면 0.75로 출력.

 

맨 아래 이미지는 0~1 linear출력과

pow(color, 2.2)로 감마보정한 출력의 비교

float4 col = i.uv.y > 0.5 ? pow(i.uv.x, 2.2) : i.uv.x;

 

포토샵에서 스포이드를 찍어보면 75% Grayscale value. 즉 linear 계산으로 포토샵에서 찍히는 값은 gamma correction이 적용된 값으로 계산.

 

반응형