2009년 06월 29일
쉐이더 완성
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파일을 만들어도 되었을텐데.
이 쉐이더 개량버전.
이번엔 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파일을 만들어도 되었을텐데.
# by | 2009/06/29 14:08 | [프로그래밍]공부 | 트랙백(1) | 덧글(4)






☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : Flow 쉐이더 수정
쉐이더 완성 약간 더 수정. fog 값이랑 더해질 때 add 모드로 블렌딩 되면 fog 색이 검은색과 더해지면서 연하게 색상이 나오게 되는 문제가 생기더군요...more