겜브리오 쉐이더 제작시 주의사항
Gamebryo/Shader / 2011. 4. 4. 06:10
1. NSF 를 건드리면 반드시 NSB 를 삭제한 후 Asset Viewer나 MAX를 실행시켜, NSB가 생성되는지 확인할 것.
생성이 안되면 엔진에서 NSF를 읽지 못한 것이다.
2. NSF는 hlsl이 아니라 스크립트다. 때문에 띄어쓰기나 Tab에 매우 민감하다 (그런 것 같다)
이 부분 때문에 수많은 삽질을 한 관계로, NSF를 제작시 Tab과 스페이스바에 주의하라.
3. NSF를 건드리면 모든 뷰어를 종료하고 NSB가 생성되는지 확인해야 하지만,
hlsl을 건드렸을때에는 맥스가 실행중이라고 해도 바로 확인할 수 있다.
4. 반드시 한 줄을 추가하고 실행되는지 계속 점검하라.
한 시간 동안 짜놓은 코드가 작동이 안될 때에는 찾을 방법이 없다.
5. 텍스쳐 UV 에니메이션의 키 값을 받아오는 명령은
CM_Defined TexTransformBase MatrixTexbase 4
이다. TexTransform의 계열에는 여러 종류가 있고, 커스텀 Attribute도 이런 식으로 넘길 수 있을 듯 하다.
6. Constantmap 에서 순서는 다소 애매한 느낌이 있다.
CM_Defined WORLDVIEWPROJ view_proj_matrix 0
에서 view_proj_matrix 는 레지스터를 나타낸다고 생각하면 좋다.그리고 레지스터를 자동으로 잡아준다고 생각하면 좋다.
그리고 그 이후의 숫자는 Extra Data로, 기본적으로 0을 쓰면 된다.
물론 텍스쳐와 같이 여러 장을 쓸 때는 인덱스 넘버로 사용해서, 0부터 1,2,3 순서로 쓰면 된다.
그리고 같은 방식으로 이런 방식이 가능하다.
CM_Defined WORLDVIEWPROJ 0 0
이것은 이름으로 받지 않는 형식이라, 앞의 숫자는 인덱스 넘버를 위한 엑스트라 데이터가 아니라 레지스터가 된다. 즉 사용하는 레지스터만큼 넣어주면 된다.
그 이후에 숫자가 더 들어갈 수 있는데, 이것은 초기값이다.
CM_Defined MaterialEmissive 0 0 0
즉 위와 같은 형식이 가능하다는 ..
CM_Difine 된 것은 저렇게 구분해서 사용하면 되고, User Custom Attribute 를 사용할 때에는 이후 숫자가 레지스터를 수동으로 표시해주는 넘버부터 나오게 된다 (고 한다)
출처 : http://chulin28ho.egloos.com/5035307
생성이 안되면 엔진에서 NSF를 읽지 못한 것이다.
2. NSF는 hlsl이 아니라 스크립트다. 때문에 띄어쓰기나 Tab에 매우 민감하다 (그런 것 같다)
이 부분 때문에 수많은 삽질을 한 관계로, NSF를 제작시 Tab과 스페이스바에 주의하라.
3. NSF를 건드리면 모든 뷰어를 종료하고 NSB가 생성되는지 확인해야 하지만,
hlsl을 건드렸을때에는 맥스가 실행중이라고 해도 바로 확인할 수 있다.
4. 반드시 한 줄을 추가하고 실행되는지 계속 점검하라.
한 시간 동안 짜놓은 코드가 작동이 안될 때에는 찾을 방법이 없다.
5. 텍스쳐 UV 에니메이션의 키 값을 받아오는 명령은
CM_Defined TexTransformBase MatrixTexbase 4
이다. TexTransform의 계열에는 여러 종류가 있고, 커스텀 Attribute도 이런 식으로 넘길 수 있을 듯 하다.
6. Constantmap 에서 순서는 다소 애매한 느낌이 있다.
CM_Defined WORLDVIEWPROJ view_proj_matrix 0
에서 view_proj_matrix 는 레지스터를 나타낸다고 생각하면 좋다.그리고 레지스터를 자동으로 잡아준다고 생각하면 좋다.
그리고 그 이후의 숫자는 Extra Data로, 기본적으로 0을 쓰면 된다.
물론 텍스쳐와 같이 여러 장을 쓸 때는 인덱스 넘버로 사용해서, 0부터 1,2,3 순서로 쓰면 된다.
그리고 같은 방식으로 이런 방식이 가능하다.
CM_Defined WORLDVIEWPROJ 0 0
이것은 이름으로 받지 않는 형식이라, 앞의 숫자는 인덱스 넘버를 위한 엑스트라 데이터가 아니라 레지스터가 된다. 즉 사용하는 레지스터만큼 넣어주면 된다.
그 이후에 숫자가 더 들어갈 수 있는데, 이것은 초기값이다.
CM_Defined MaterialEmissive 0 0 0
즉 위와 같은 형식이 가능하다는 ..
CM_Difine 된 것은 저렇게 구분해서 사용하면 되고, User Custom Attribute 를 사용할 때에는 이후 숫자가 레지스터를 수동으로 표시해주는 넘버부터 나오게 된다 (고 한다)
출처 : http://chulin28ho.egloos.com/5035307
반응형
'Gamebryo > Shader' 카테고리의 다른 글
알파 텍스쳐 블렌딩 공식 (0) | 2011.07.22 |
---|---|
[펌] Soft Particle (Depth bias blend) (0) | 2011.06.15 |
쉐이더 (0) | 2011.04.04 |
HDR (0) | 2011.04.04 |
Using Fx Shader In GameBryo (0) | 2011.03.17 |