어딘가에서의 강의 준비를 위한 쉐이더 FX 공부 이틀째입니다.
뭐랄까. 코드로 짜던걸 노드로 연결시키니까 확실히 편하긴 하지만
수박 겉핥기 하는 느낌이랄까 -_-;
전체로 잘 안보여요. 뭐 그래픽 디자이너들에게 설명할때는 확실히 편하긴 하겠지만…
이 회사에서도 그걸 알고 있는지 자주 쓰는건 그냥 그룹화 시켜서 편하게 편하게 만들어 놓았네요.
덕분에 마치 우버 쉐이더 처럼 조금만 손대려 하면 큰일이 되어 버리는…
일례로
dot(N,L)
로 끝나는 라이트 계산을 편하게 하느라고 그룹노드로 만들어 놓은것까진 좋은데,
거기에 추가로 하프 렘버트 적용하느라고
dot(N,L)*0.5f + 0.5f;
이라고 수정하면 코드에서는 초 간단한데 말이죠. 보기에도 쉽고.
그런데 여기서는 이거 하나 수정하려고 이렇게 만들어야 한단 말이죠
부왘 ㅋㅋㅋㅋ 뭐야 거창해
(하프 렘버트 쉐이더 예제가 있길래 열어봤습니다. 짠 사람은 이해가겠지만 처음 보는 그래픽 디자이너들은 어떻게 이해하라고…)
여기다가 warp 칼라라도 적용하려면 갑자기 또 신세계가 열립니다.
코드라면 역시 하프 렘버트 코드 아래에
tex1D(warp, halfLambert) * LightColor;
한줄 추가하면 끝나는 것을
부왘 ㅋㅋㅋㅋㅋㅋㅋ
뭐야 이거 ㅋㅋㅋㅋㅋㅋㅋㅋ
저 위의 거창한 그림이
float halfLambert = dot(N,L)*0.5f + 0.5f;
tex1D(warp, halfLambert) * LightColor;
요 두 줄이라면 믿으시겠습니까?
(뭐 선언까지 하면 거창하지 않느냐라고 따지신다면, 그건 관점의 차이라고 변명하겠습니다만 ㅎㅎ)
ps. 그나저나 마모셋 엔진도 구입해서 함 봐야 하는데 공동구매하실분 없으십니까 ㅋ