프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 10:49
* 키 프레임 애니메이션(key frame animation) : 전체 애니메이션중에서 중요한 몇개의 프레임에 애니메이션 키 값을 등록하고, 나머지 들은 자동으로 생성하는 방법이다. 프레임은 애니메이션에서 출력될 한 장면 한 장면을 말한다. 자. 이제 밑에 사각형이다. (1) (2) ◆ ◇ ◇ ◇ ◇ ◆ (-10,0,0) (10,0,0) 전체 6프레임짜리 애니메이션이라고 치자 꺼먼색 마름모가 처음1번에서부터 2번까지 이동하는 애니메이션이다. 여기서 키값이라 하면 그 지점에서의 좌표라고 생각하면된다. 긍까 프레임은 (1)번 프레임 (2)번 프레임 두개만 만들어놓고 나머지 4개의 중간프레임( ◇ ) 들은 보간(interpolate)하여 자동으로 생성한다. 책의 예제를 보면 위치가 이동하면서 회전까지 한다. ..
프로그래밍/프로그래밍일반 스피비 2011. 1. 5. 19:37
Geometric | 꽁꽁꽁 http://blog.naver.com/adk2000kr/20001305357 함수호출 방식이 __cdecl, __pascal, __stdcall로 여러 가지가 있는 이유는 윈도우즈의 역사성에 있다. 우선 win16에서는 실행파일의 크기가 줄어들고 속도가 빠르다는 이유로 pascall 방식을 사용 했고, win32에서는 가변매개인자를 지원하는 함수를 제외한 모든 함수들은 __stdcall을 사용 한다. 만약 c 방식의 함수호출을 원한다면 __cdecl을 명시해 주어야 한다. (윈도우즈 프로그래밍에 있어서) 우선 c 방식의 함수 호출__cdecl과 pascal 방식의 함수호출의 차이점을 알아보자. 첫 번째로 함수호출후 종료 시점에 호출한 함수의 스택을 정리하는 주체가 호출..
프로그래밍/프로그래밍일반 스피비 2011. 1. 5. 19:25
속성관리자라는것을 사용하면 그림과 같이 속성시트를 만들수있거나 기존에 것을불러올수있습니다. 이기능은 같은 프로잭트설정을 저장해두고 두번다시 똑같은 노가다를하지않도록 도와줍니다. 파일확장자는 vsprops 입니다. 프로잭트 관리할때 app위자드보다 쉽고 간단합니다. 출저: 圖拂光於 一理熙投 事用自 :: 네이버 블로그
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 5. 15:14
1. x축, y축, z축 각각의 회전행렬을 만든다. yaw(y축 회전각) pitch(x축), roll(z축) 2. 회전 행렬을 객체의 변환행렬과 각각 순서대(x, y, z)로 곱한다.(오일러각) 3. x축을 90도 틀고난 후 y축으로 90도 튼것과 y축을 90도 틀고난 후 z축으로 90도 튼것과의 회전 값이 같다. 4. 세 개의 축 각을 이용하여 항상 순서대로 회전을 하면 위와같이 한 개의 축이 쓸모 없게 된다. 이 현상이 짐벌락이다. 5. 이 문제는 계산을 한 번에 하지 않아서(세 번으로 나누어서)이다. 쿼터니온을 쓰면 한 번에 계산되어 문제가 해결된다. 즉 짐벌락현상을 없애기 위해서 쿼터니온을 쓰는것이다. *참고 - 오일러각 : 기준 방위에서 회전한 상태를 나타내기 위해 사용하는 3개의 각도. 더 알..
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 5. 14:22
3D 애니메이션 기초정리편. 애니메이션의 계층구조에 대하여. 노드의 월드행렬 = 노드의 지역행렬(Local Matrix) * 부모의 월드행렬( Parent World Matrix) 로 구할 수 있다. 애니메이션이 없는 static mesh일 경우에는 익스포팅할 때 미리 노드의 월드행렬을 계산하여 그대로 구성해주는 게 좋다. 하지만 애니메이션이 존재할 경우에는 크기변환, 회전변환, 이동변환을 가지고 지역 행렬을 구성해야 한다. 즉, S*R*T원칙( OpenGL에서는 그 반대인 T * R * S )에 따라!!!!!!!!!!!!!! 노드의 월드행렬 = 노드의 지역행렬(S*R*T) * 부모의 월드행렬( Parent World Matrix ) 로 구성해준다. 그리고 노드의 지역행렬을 구하고자 한다면 행렬의 수학적..