NkFireDance Shader이 쉐이더 개량버전.
이번엔 Emittance 값도 영향받게 해 놓았고, fog 값도 영향받게 바꿨습니다.
게다가 flow의 방향과 속도도 제어할 수 있게 해 놓았죠.
FlowDirection 값을 X와 Y로 제어할 수 있는 버튼이 따로 만들 수 없길래 약간 꽁수를 부려봤습니다.
걍 FlowdirectionY 라는 메뉴를 체크박스로 만들어 Bool 처리 해버렸습죠.
NSF에서 받기는 Bool 값으로 0과 1로 받게 해 놓았지만, hlsl에서는 float으로 받아버렸습니다. 이유는 아래에..
그리고 나서 그 값을 아래와 같이 비교연산
if (FlowDirectionY == 0.0f)
{
coord.x = UVSet0.x + (g_time * FlowSpeed);
}
else
{
coord.y = UVSet0.y + (g_time * FlowSpeed);
}
겜브리오 2.2 용 쉐이더를 개발할때는 주의해야 할 점이 있습니다.
- 수시로 NSB 가 생성되는지 확인할 것.
- NSF 는 쉐이더가 아니라 스크립트라는걸 잊지 말 것. (1.0f 따위는 쓰면 안된다. f 는 빼라고. )
- NSF에서는 bool 값이나 Uint 값이 들어가 지는데, hlsl 코드에서 부르려 하면 float으로 불러야 불러진다!!! 말도 안돼!!!
그럼 texture 와 float 두 종류만 써야 하는거야?
- mask 라는 변수명은 맥스에서의 예약어인지, 이 이름으로 하면 실행이 안됩니다.
ps. 그러고보니 왜 2.2용으로 만든 거였지요 2.6용으로 fx파일을 만들어도 되었을텐데.