프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 16:38
[3D란 무엇인가?] 위에서 열심히 3D게임의 계보에 대해 대강 알아보았습니다. 여러 가지 그림도 보고 많은 게임들이 만들어 졌다는 것은 알겠지만, 3D 프로그래밍을 처음 접하게 되면 다른 프로그래밍과 달리 매우 많은 전문용어 때문에 혼선을 겪기에 마련입니다. 용어의 개념정리만 된다면 일차적으로 3D에 대한 많은 글들을 이해할 수 있기 때문에 이부분에서는 3D에서 사용되는 간단한 기초적인 용어들을 설명하겠습니다. 또한, 3D프로그래밍은 다른프로그래밍보다 좀 더 수학적 지식을 필요로 합니다. 기본적인 수학지식과 각종 수식들이 갖는 각각의 의미를 이해할 수 있어야 좀 더 쉽게 3D 프로그래밍을 배울 수 있을 것입니다. 그래서 이곳에서는 용어와 함께 3D 프로그래밍에서 쓰이는 간단한 수학과 그 의미를 알아 보..
프로그래밍/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) 의미가 중복되는것들도 좀 있고..