블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
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
반응형

'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
Posted by blueasa
, |