Featured image of post 쉐이더 완성

쉐이더 완성

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파일을 만들어도 되었을텐데.

Hugo로 만듦
JimmyStack 테마 사용 중