본문 바로가기

예전/3D

(50)
[3D] 밉맵 http://blog.naver.com/sharbong/100010516981
[3D] GetTransform과 GetViewport HRESULT GetTransform(D3DTRANSFORMSTATETYPE state,D3DMATRIX *pMatrix);state 는 변경 대상의 장치 state변수이고, pMatrix는 돌려받는 변환 상태를 나타내는 D3DMATRIX 구조체의 포인터이다. 이 함수는 D3DCREATE_PUREDEVICE를 사용해 생성한 장치의 장치 state를 돌려주지 않는다.이 함수를 사용하려면, D3DCREATE외에 몇 개의 플래그값을 추가로 더 지정해 장치를 생성할 필요가 있다. GetTransform은 LPDIRECT3DDEVICE 클래스의 멤버 함수로써 현재 사용중인 Device의 정보를 가져올 수 있다.예를 들면, Device에서 사용중인 카메라의 matrix 정보 등을 가져올 수 잇는데, 이때 가장 중요..
2D 좌표를 3D좌표로 바꾸는 함수 http://gamepro.tistory.com/m/post/view/id/481 // 3D 좌표를 2D좌표로 바꾸는 함수 POINT PHYSICSCAL::CONVERT_3DTO2D_POINT ( D3DXVECTOR3& v ) { D3DXMATRIX matProj; D3DXMATRIX matView; D3DVIEWPORT9 vp; g_GlobalData->g_pd3dDevice->GetViewport(&vp); g_GlobalData->g_pd3dDevice->GetTransform( D3DTS_PROJECTION, &matProj ); g_GlobalData->g_pd3dDevice->GetTransform( D3DTS_VIEW, &matView ); D3DXMATRIXA16 matCombine = m..
피킹참조자료 주움 출처 - http://blog.naver.com/clous02?Redirect=Log&logNo=110023792724 픽킹 ★광선과 물체 -광선의 표현 -시작점과 끝점 -시작점과 방향(픽킹할때 사용) ★물체의 형태 -구 -박스 -지형 ★픽킹의 전체 순서 -스크린 포인트로 부터 광선의 도출 -광선을 픽킹 대상 모델의 월드공간으로 변환 (삼각형일경우 지역좌표계로 들어가서 해야할 경우도 있음) -픽킹 광선과 교차하는 물체 확인 ★고정 파이프 라인의 역추적 -고정파이프 라인의 이해 -월드변환-> 뷰변환 -> 프로젝션뷰변환 -> 뷰포트 변환후 출력 -실제 물체는 월드좌표계에 존재 -뷰포트 역변환 -> 프로젝션변환 -> 뷰변환후 충돌체크 -스크린 포인트 s를 통해 투영창에 대응되는 p를 얻는다. (뷰포트 변환) ..
[UI엔진] 처음 내 프로젝트를 만들고서 땡땡땡땡 땡땡은ObjectInit 이였어 3D와 2D에서의 차이는 ObjectInit의 위치이다. 이건 똘똘이랑 얘기했을 때 본것 싱기해! 3D는 Device생성하고 해야한다 안그러면 Device쓰는 애들에서 오류가 발생해 ObjectDestroy는 cMainGame에서 3D것을 지우고 지운다.
[3D] 김벌락 (Gimbal Lock) 김벌락 ( 부제 : 오일러 각에 의한 김벌락 현상 ) 1. 오일러 각 - 김벌락을 하기전에 우선 오일러 각에 대해 알아보자. 오일러 각이란 3차원 공간에 강체가 놓인 방향을 표시하기 위한 것이다. 여기서 강체란 외부의 힘에 변하지 않는 물체를 말한다. 일반적으로 x, y, z 축을 이용하며, 각각 Pitch, Yaw, Roll (피치, 야, 롤) 이라고 한다. 3차원 공간에 놓인 객체의 방향은 오일러 각을 사용해 3번의 회전을 통해 얻을 수 있다. - 위 영상으로 축마다 회전하는 각도가 같아도, 회전을 적용하는 순서에 따라 결과가 달라지는 것을 볼 수 있다. 2. 김벌과 김벌락 - 김벌이란 단일 축에 대한 물체의 회전을 허용하는 것으로 수평 유지 장치를 말한다. - 김벌락이란 오일러 각에서 회전 순서에 ..
[3D] Direct3D 초기화 1. Direct3D란? - Direct3D는 3D 가속 하드웨어를 사용해 3D를 표현하게 하는 저수준 그래픽 API로 응용프로그램과 그래픽 장치를 연결하는 중개자이다. - Direct3D 가 공개하는 기능이라 하더라도 그래픽 하드웨어에서 지원하리라는 보장은 없다. 그래픽 카드의 종류는 매우 다양하며 각기 다른 방법으로 동작하기 때문에 Direct3D가 직접 그래픽 장치를 제어하기른 불가능하다. 때문에 Direct3D는 제조사에게 HAL을 구현할 것을 요구한다. - HAL (Hardward Abstraction Layer): HAL은 그래픽 장치가 특정한 작업을 수행하게 하는 장치 고유의 코드로 이를 통해 Direct3D가 각 장치의 세부적인 부분을 제어할 필요가 없게 한다.즉, 하드웨어 장치에 독립적인..
[3D] 행렬 행렬 3D 행렬에 대해 정리한 pdf 파일입니다. 목차 행렬이란? 상등 스칼라 곱 더하기 행렬의 곱 항등 행렬 역행렬 행렬의 전치 D3DX 행렬 기본적인 변환 이동 행렬 회전 행렬 크기 변형 행렬 변환 조합