프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 3. 30. 00:09
3D 파일 포멧 기초 .X File Format은 DirectX에서 지원하는 기본적인 3차원 메시파일 포맷이다. 지금까지는 모든 메시데이터는 3차원 좌표를 직접 지정하여 생성했지만 실제 게임을 제작한다면 전문 3D 디자이너들에 의해서 만들어진 메시 파일을 사용하여야만 한다. 맥스나 마야에서 X 파일 포맷으로 Export하려면 DX9 SDK가 아닌 추가 SDK(Extras SDK)를 다운 받아서 추가해야 한다. 추가 SDK를 설치하면 맥스와 마야에서 사용되는 X 파일 Exporter의 빌드 되지 않은 상태의 소스코드가 있다. 이 소스들 중에 사용하려는 버전에 맞는 플러그인을 빌드해서 사용하면 된다. 하지만 이 코드를 빌드하려면 DX9 외에 MAX나 MAYA에서 제공하는 SDK도 있어야 한다. 이 SDK들은..
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 3. 29. 23:54
텍스쳐의 기초 폴리곤, 조명, 카메라 등의 조합만으로는 현실감이 없는 밋밋한 3D밖에 맛 볼수 없다. 이러한 3D에 활력을 불어 넣어주는 것이 바로 텍스쳐이다. 폴리곤들의 조합(메시)에 옷을 입히는 작업이라고 보면 쉽게 이해될 것이다. 텍스쳐의 종류는 1차원, 2차원, 3차원 등이 있다. 각 텍스쳐에는 텍스쳐를 제어하기 위한 텍스쳐만의 좌표계가 필요하다. 일반적으로 가장 많이 사용하는 좌표계는 2차원 u, v 좌표계이다. 모든 텍스쳐 좌표계는 기본적으로 0.0 ~ 1.0사이의 실수값을 갖게 되고, 이 값의 범위를 넘게되면 다른 처리를 해줘야만 다양한 효과를 낼 수 있다. 그러한 효과에는 Clamp, Mirror, Wrap, Border 등이 있다. u.v좌표 : (x값 0.0~1.0) (y값 0.0~1...
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 3. 29. 21:53
왜 화명에 아무것도 나타나지 않지? 1. 카메라를 잘못 설정해서 메시가 있는 곳이 아닌 엉뚱한 곳을 바라보는 현상 2. 광원을 설정하지 않은 채, 배경을 검은색으로 지울때 => 많이 경험해보는게 좋다 ㅎㅎ DX처음들어가면 가장 실수하기 쉬운 부분이다!
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 3. 29. 21:52
조명을 사용하면 보다 깨끗하고 선명한 화질과 뛰어난 연출감을 얻을 수 있다. 이러한 조명을 사용하기 위해서는 광원, 재질을 생성해야한다. 또한 기하정보에 노멀벡터정보를 포함하고 있어야만 한다. 광원은 위치,색깔,방향등의 정보를 바탕으로 생성된다. (여기서 벡터의 개념을 잠시 다시 생각해보자) 소스를 보자. /// 광원을 사용하기때문에 노멀벡터가 있어야 한다는 사실을 명심하자. struct CUSTOMVERTEX { D3DXVECTOR3 position; /// 정점의 3차원 좌표 D3DXVECTOR3 normal; /// 정점의 노멀 벡터 }; /// 사용자 정점 구조체에 관한 정보를 나타내는 FVF값 #define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL) //..
프로그래밍/3D그래픽스 & 쉐이더 스피비 2011. 3. 24. 01:20
재질과 광원의 차이에 대해서 이해하고 넘어가자!!!!!!!!! 1.재질이란 ? 메시의 표면 상태를 말하는 것으로 빛이 물체의 표면에서 반사되어 변화된 뒤 사람의 눈에 들어오기까지의 과정을 수학적으로 모델링하기 위해서 사용하는 값들이다. 2. 재질값을 이루는 구성요소 1. 주변광(ambient) : 최저 평균 밝기를 말한다. 똑같은 양으로 모든 면에서 나오는 빛 2. 확산광(diffuse) : 표면의 모든 점들에 균일하게 비춰지는 빛 3. 반사광(specular) : 특정한 방향으로만 반사하는 빛. 광원의 위치와 카메라의 위치에 따라서 달라진다. 4. 방출광(emissive) : 메시 표면에서 자체적으로 방출되는 빛. 이 빛이 다른 메시에 영향을 주지는 못한다. 3. 재질을 쓰는 이유? 빛을 모두 표현하기..