프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 14:13
예제에서 사용한 bmp파일입니다. /**----------------------------------------------------------------------------- * \brief D3D API를 사용한 스키닝 예제 * 파일: Skinning.cpp * * 설명: D3D의 기본 API기능을 사용한 매트릭스 팔레트 방식 스키닝 * *------------------------------------------------------------------------------ */ #include #include /**----------------------------------------------------------------------------- * 전역변수 *---------------..
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 14:07
이 문서의 저작권은 김용준(newtype@chollian.net)에게 있습니다. 무단 전재, 복사,인용,수정을 금지합니다. 개인적인 학습의 용도는 상관없으나, 상업적 이용은 금지합니다 소스는 C:\mssdk\samples\Multimedia\Direct3D\Tutorials\Tut03_Matrices DirectX 8.1SDK를 깔면 여기 경로에 있다. 3부 고급편 - Matrix Palette Matrix Palette혹은 Indexed Matrix라고도 하는 방식을 알아보자. Direct3D 8.0에서 새롭게 도입된 방식으로 7.0에 있던 WORLD(0) ~ WORLD(3)에 오브젝트마다 매번 행렬을 대입하면서 사용했던 불편한 Vertex Blending을 발전시킨 것이라 하겠다. 기본적인 개념은 각..
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 13:38
스키닝이란? 스키닝(skinning)이란 피부를 붙이는 작업이라고 말할 수 있다. 3차원 메쉬는 관절과 관절 사이가 사람과 달리 끊김 현상이 발생할 수 있는데 , 이를 막는 기법을 스키닝이라고 한다. 마치 사람의 뼈 위에 피부가 있어서 관절부위가 보이지 않는 것처럼 말이다. 과거에는 고급 기법이었으나, 요즘에는 스키닝이 되지 않는 경우가 더 어색해 보일정도로 일반화 되었다. V(스킨 world) = V(스킨 local) * M0(뼈대 애니) * W0(가중치) + V(스킨 local) * M1(뼈대 애니) * W1(가중치) .... 이따구 식이 책에 나와있었다. 찢어버릴까보다. 책을 봐도 이해가 안갔다 뼈대 애니를 그대로 곱한다니... 스킨의 로컬 정점에 다가... 결국 알아낸 진짜 계산식... V(최종 ..
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 10:55
애니메이션의 정의 애니메이션의 어원은 라틴어 'anima'(영혼)에서 유래 하였으며, 어원적으로는 '무생물에 영혼을 불어넣는다'는 의미가 강하다. 실제로는 생명감 있는 동작뿐만 아니라 비.바람.불같은 자연 현상과 기계적인 움직임 따위의 표현이 모두 포함. 3차원 그래픽에서 애미네이션이란 메시나 텍스쳐등의 오브젝트를 3차원 공간에서 움직이게 하는 것을 통칭하는 말이다 . 애니메이션 기법 종류들 1.정점 애니메이션(vertex animation) 2.계층적 애니메이션(hierarchical animation) 3.뼈대 애니메이션(bone based animation, skeletal animation) 4.스키닝(skinning) 5.역운동학(inverse kinematics) 의미가 중복되는것들도 좀 있고..
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 10:49
* 키 프레임 애니메이션(key frame animation) : 전체 애니메이션중에서 중요한 몇개의 프레임에 애니메이션 키 값을 등록하고, 나머지 들은 자동으로 생성하는 방법이다. 프레임은 애니메이션에서 출력될 한 장면 한 장면을 말한다. 자. 이제 밑에 사각형이다. (1) (2) ◆ ◇ ◇ ◇ ◇ ◆ (-10,0,0) (10,0,0) 전체 6프레임짜리 애니메이션이라고 치자 꺼먼색 마름모가 처음1번에서부터 2번까지 이동하는 애니메이션이다. 여기서 키값이라 하면 그 지점에서의 좌표라고 생각하면된다. 긍까 프레임은 (1)번 프레임 (2)번 프레임 두개만 만들어놓고 나머지 4개의 중간프레임( ◇ ) 들은 보간(interpolate)하여 자동으로 생성한다. 책의 예제를 보면 위치가 이동하면서 회전까지 한다. ..