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

카테고리

분류 전체보기 (2797)
Unity3D (853)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (61)
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




Game Programming Gems 2권에 나와있는 데칼알고리즘을 이용해서 데칼을 만들어보았다.

흠... 만들어보긴했는데... 아직 실전에 응용을 하지않아 효용성이 얼마나

있는지는 모르겠다.

 

탄젠트 벡터를 구하는데... GPG에서 사용해보라고하는 (1.0f, 0.0f, 0.0f)를 넣으니까

데칼이 이상하게 박힌다.  해당 벡터가 법선과 수직이 아니라서 발생하는 문제인듯하다.

지형에서만 사용가능한건지는 모르겠지만..

 

처음에는 픽킹된 폴리곤의 한정점과 픽킹된 점을 구해 탄젠트 벡터를 만들었다.

탄젠트 벡터가 테칼이 그려지는 방향에 영향을 주는 요소라.. 픽킹할때마다

그림의 방향이 바뀌게 된다.

 

그래서 탄젠트 벡터를 지정포지션과 법선벡터(0.0f, 1.0f, 0.0f)와 지정포지션을 정점으로

갖는 평면으로 지정포지션을 가지고있는 폴리곤을 분할해 충돌점을 구하고

지정포지션과 충돌점 사이의 벡터를 탄젠트 벡터로 주었다. 그러니까

나름대로 잘 나오는듯 한것 같다 ^^;

 

원래는 비공개로 할까 했는데... 어노인팅님이 저를 불사르시는군요..

ㅋ 그래서 공개자료로 전환합니다.

 

이소스는  NET2005 그리고 DX9.0c SDK를 필요로 합니다.

가져가실때 출처를 꼭 밝혀주세요.


출처 : http://blog.naver.com/swoosungi/90017269111

반응형

'Programming > C/C++' 카테고리의 다른 글

카메라 흔들기  (0) 2011.03.05
[게임코드]손쉽게 카메라 흔들기  (0) 2011.03.04
ifdef, if defined, ifndef, if !defined  (0) 2011.03.04
enum, 보다 나은 enum  (0) 2011.01.13
IME 소스 (한글)  (2) 2010.11.26
Posted by blueasa
, |