IT/3D 27

스카이 박스

* 스카이박스( Skybox ) 가상공간의 표현에서 인테리어와 익스테리어 양쪽에 다 사용되는 빠질 수 없는 부분이 하늘에 대한 표현이라고 볼 수 있다. 하늘에 대한 표현방식도 여러 가지가 있겠지만, 이 또한 실시간 처리라는 제약사항 때문에 주로 스카이 박스라는 기법을 가장 많이 사용하고 있다. 이 기법은 가상공간을 감싸고 있는 정육면체의 박스의 각 면에 미리 렌더링된 256x256정도 크기의 하늘 텍스쳐를 6장 준비해서 정육면체의 각 면에 입힌다는 간단한 방식이다. 이 때 고려되는 사항으로는 박스에 텍스쳐가 입혀진 형태이기 때문에 하늘을 보았을 때 박스라는 걸 인지할 수 없도록 해야 한다는 것이다. 이를 위해서 사용되는 방식으로 3ds max와 같은 여러 모델링툴에서 쉽게 볼 수 있는 environmen..

IT/3D 2007.03.26

[펌] [DIRECTX] CMyD3DApplication의 간단한 함수 설명

P.105 INT WINAPI WinMain() { CMyD3DApplication d3dApp; // 클래스 생성 ……… If(FAILED(d3dApp.Create(hInst)) // 초기화 Return 0; Return d3dApp.Run(); // 프로그램 시작 } 애플리케이션 마법사로 Directx 프로그램을 할 때 생성된 클래스CD3DApplication을 상속받았다. 이 클래스를 수정해서 프로그램을 만든다. 초기화 과정 D3dApp.Create() -> ConfirmDevice() -> OneTimeSceneInit() -> InitDeviceObjects() -> RestoreDeviceObjects() D3dApp.Create() 애플리케이션 초기화, HAL을 사용할 수 있는지 여부 등, ..

IT/3D 2005.11.03

MFC에서 DIRECT3D 사용하기

MFC_Direct3D9.zip MFC에서 Direct3D9를 초기화하고, 실시간 랜더까지 구현된 소스코드입니다.Leechen님 홈페이지 자료실에서 가져왔으며, 출저는 데브피아라고 합니다.문제는 뷰가 갱신될때, 화면의 번쩍거림 현상이 있다고 합니다.해결방법은 아래와 같습니다. View 클래스에서 WM_ERASEBKGND 메시지를 등록합니다. 등록하게 되면, 아래와 같은 함수가 생성됩니다.여기서 return CView::OnEraseBkgnd(pDC); 부분을 주석처리합니다.그리고 그 위에 return FALSE; 를 삽입합니다. BOOL COOOView::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code here and/or call def..

IT/3D 2005.10.17