프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 1. 7. 16:38
[3D란 무엇인가?] 위에서 열심히 3D게임의 계보에 대해 대강 알아보았습니다. 여러 가지 그림도 보고 많은 게임들이 만들어 졌다는 것은 알겠지만, 3D 프로그래밍을 처음 접하게 되면 다른 프로그래밍과 달리 매우 많은 전문용어 때문에 혼선을 겪기에 마련입니다. 용어의 개념정리만 된다면 일차적으로 3D에 대한 많은 글들을 이해할 수 있기 때문에 이부분에서는 3D에서 사용되는 간단한 기초적인 용어들을 설명하겠습니다. 또한, 3D프로그래밍은 다른프로그래밍보다 좀 더 수학적 지식을 필요로 합니다. 기본적인 수학지식과 각종 수식들이 갖는 각각의 의미를 이해할 수 있어야 좀 더 쉽게 3D 프로그래밍을 배울 수 있을 것입니다. 그래서 이곳에서는 용어와 함께 3D 프로그래밍에서 쓰이는 간단한 수학과 그 의미를 알아 보..
기타/3D_Max 스피비 2011. 1. 7. 15:31
◎3D MAX 로 *.x (xfile) 만드는 방법 만들기 변환 "3D게임프로그래밍실습"에 필요한 3D MAX 10.0 혹은 3D MAX 2010의 Plugin들을 다운로드 받을 수 있는 사이트입니다. 직접 다운로드 하기 위한 사이트 하나 : Panda Soft http://www.andytather.co.uk/Panda/directxmax_downloads.aspx 그리고 첨부한 파일은 3D MAX 9.0 혹은 3D MAX 2008, 3D MAX 2010의 MAX 파일을 X 파일(DirectX 파일)로 변환하기 위해 필요한 Plugin 입니다. 물론 3D MAX 9.0 혹은 3D MAX 2008의 Plugin 들을 다운로드 받을 수 있는 사이트에 있는 프로그램이며, 바로 다운 받아서 사용할 수 있도록 ..
프로그래밍/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(최종 ..