<본 포스팅은 강좌가 아닙니다.>
포스트 프로세싱은 기존에 렌더링된 씬에 렌더링 효과를 더하는 작업이다.
렌더링 결과를 2D로 저장해 그 이미지에서 추가 작업을 하는 것이다.
화면을 2D 이미지로 렌더타깃으로 저장하는 셰이더 하나와
효과만 주는 셰이더 여러개로 가벼운 작업이 가능하다.
use viewport dimension으로 화면에 꽉차는 이미지로 한다.
렌더타깃으로 이 이미지로 저장하게 한다.
ScreenAlighnedQuad는 렌더몽키에서 지원하는 화면 사각형 모델이다.
하드웨어가 이 면을 뒷면으로 생각해서 RenderState를 추가해 CullMode를 None으로 설정한다.
- 흑백셰이더
VS 버텍스 셰이더
정점 위치가 이미 투영공간에 있어서 변환이 필요없다.
PS 버텍스 셰이더
그저 색 평균으로 나누어도 되지만 회색처럼 보이지만
인간의 눈이 RGB에서 명암을 지각하는 정도가 달라
공식이 있다고 한다. 책에서는
빨강은 30% 녹색은 59% 파랑은 11%라고 한다.
찾아보니 https://www.wikiwand.com/en/Grayscale#/Converting_colour_to_grayscale
결과
- 세피아 셰이더
세피아 톤은 갈색빛 도는 감성이 도는 느낌이다.
버텍스셰이더는 위에와 동일하다.
PS 픽셀셰이더
책에 있는 셰피아 공식을 그대로 적용했다.
결과
'STUDY > Shader Programming' 카테고리의 다른 글
Shader Programming - 다이렉트X11 난반사광, 정반사광 적용 (0) | 2022.03.17 |
---|---|
셰이더 프로그래밍 - AMD RenderMonkey 사용해서 쉐이더 공부를 해보자10 (외곽선 찾기와 양각 효과(Emboss)) (0) | 2021.12.22 |
셰이더 프로그래밍 - AMD RenderMonkey 사용해서 쉐이더 공부를 해보자8 (그림자 매핑) (0) | 2021.12.21 |
셰이더 프로그래밍 - AMD RenderMonkey 사용해서 쉐이더 공부를 해보자7 (UV 애니메이션 Animation & 울렁효과) (0) | 2021.12.20 |
셰이더 프로그래밍 - AMD RenderMonkey 사용해서 쉐이더 공부를 해보자6 (환경 매핑, 입방체 매핑) (0) | 2021.12.20 |