bool ZQuadTree::Build(CGeoMapData &pHeightMap, Point &bottomLeft) { _BuildQuadTree(pHeightMap, bottomLeft); _BuildNeighborNode(this, pHeightMap); return true; }
/** * @brief 지형객체를 초기화한다. * @param pDev : 출력용 D3D디바이스 * @param pvfScale : 높이맵의 x,y,z값에 곱할 척도값(scale vector) * @param lpBMPFilename : 높이맵용 BMP파일명 * @param lpTexFilename : 출력용 D3D디바이스 */ HRESULT ZTerrain::Create( LPDIRECT3DDEVICE9 pDev, D3DXVECTOR3* pvfScale, LPSTR lpBMPFilename, LPSTR lpTEXFilename[4] ) { m_pd3dDevice = pDev; m_vfScale = *pvfScale; if( FAILED( _BuildHeightMap( lpBMPFilename ) ) ) { _Destroy(); return E_FAIL; } if( FAILED( _LoadTextures( lpTEXFilename ) ) ) { _Destroy(); return E_FAIL; } if( FAILED( _CreateVIB() ) ) { _Destroy(); return E_FAIL; } m_pQuadTree = new ZQuadTree( m_cxDIB, m_czDIB ); if( FAILED( _BuildQuadTree() ) ) { _Destroy(); return E_FAIL; } return S_OK; }