쉐이더 완성

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

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 김윤정 | 2009/06/29 14:08 | [프로그래밍]공부 | 트랙백(1) | 덧글(4)

트랙백 주소 : http://chulin28ho.egloos.com/tb/5024043
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from 대충 살아가는 게임개발자 at 2009/10/06 12:16

제목 : Flow 쉐이더 수정
쉐이더 완성 약간 더 수정. fog 값이랑 더해질 때 add 모드로 블렌딩 되면 fog 색이 검은색과 더해지면서 연하게 색상이 나오게 되는 문제가 생기더군요...more

Commented by 도2008 at 2009/06/29 16:16
아티산에 연재하시지요~ 정리도 하고 돈도 받고. ㅋ
Commented by 김윤정 at 2009/06/29 18:08
설마요. 이런 허접을 받아줄라구요
Commented at 2009/07/03 15:04
비공개 덧글입니다.
Commented by 김윤정 at 2009/07/03 17:03
헐 그래픽 디자이너 레벨 이라면 가능할지도 모르겠습니다. 근데 지금은 정신이 없어서 좀 나중에 ;; ㅎㅎ
※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지          다음 페이지 ▶