DirectX Graphics 레퍼런스 Direct3D extension (D3DX) C/C++ 레퍼런스 인터페이스 ID3DXBaseMesh CloneMesh [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
정점 선언을 사용해, 메쉬의 복사를 생성 한다.
구문
HRESULT CloneMesh(
DWORD Options, CONST LPD3DVERTEXELEMENT9 pDeclaration, LPDIRECT3DDEVICE9 pDevice, LPD3DXMESH *ppCloneMesh );
파라미터
- Options
- [in] 메쉬의 생성 옵션을 지정하는 1 개 이상의 D3DXMESH 플래그의 편성.
- pDeclaration
- [in] D3DVERTEXELEMENT9 요소의 배열. 출력 메쉬의 정점의 정점 포맷을 지정한다.
- pDevice
- [in] IDirect3DDevice9 인터페이스의 포인터. 메쉬에 관련지을 수 있는 장치 개체를 나타낸다.
- ppCloneMesh
- [out, retval] 복사 된 메쉬를 나타내는 ID3DXMesh 인터페이스의 포인터.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는, 다음의 몇개의 값을 돌려준다.
D3DERR_INVALIDCALL 메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다. E_OUTOFMEMORY Microsoft® Direct3D® 가 호출을 완료하기 위한 충분한 메모리를 할당할 수가 없었다.
주의
정점의 데이터 레이아웃을 재포맷 및 변경하려면 ,ID3DXBaseMesh::CloneMesh 를 사용한다. 이것을 실시하려면 , 새로운 메쉬 개체를 생성 한다. 예를 들어, 지금까지 존재하고 있지 않았던 법선, 텍스처 좌표, 색, 중량감등을 (위해)때문에에 스페이스를 추가하는 경우에 사용한다.
ID3DXBaseMesh::UpdateSemantics 는, 정점 버퍼의 레이아웃을 변경하는 일 없이, 정점 선언을 다른 의미들 정보로 갱신한다. 이 메서드는, 정점 버퍼의 내용은 변경하지 않는다. 예를 들어, 3D 텍스처 좌표의 라벨을 종법선이나 접선으로 변경하는 경우나, 그 반대로 변경하는 경우에 사용한다.
참조
ID3DXBaseMesh::CloneMeshFVF ,ID3DXBaseMesh::GetDeclaration ,ID3DXMesh::GetDeclaration ,ID3DXPMesh::GetDeclaration ,D3DXDeclaratorFromFVF