ID3DXTextureGutterHelper::ResampleTex 메서드
이 Gutterhelper의 매개 변수화에 텍스처를 다시 샘플링합니다.
구문
HRESULT ResampleTex(
[in] LPDIRECT3DTEXTURE9 pTextureIn,
[in] LPD3DXMESH pMeshIn,
[in] D3DDECLUSAGE Usage,
[in] UINT UsageIndex,
[out] LPDIRECT3DTEXTURE9 pTextureOut
);
매개 변수
-
pTextureIn [in]
-
pMeshIn의 원래 매개 변수화에 해당하는 텍스처입니다. 이 텍스처는 pTextureOut을 만드는 데 사용됩니다.
-
pMeshIn [in]
-
형식: LPD3DXMESH
원래 및 새 매개 변수화를 포함하는 메시입니다. 새 매개 변수화를 D3DDECLUSAGE_TEXCOORD 인덱스 0에 저장해야 합니다.
-
사용량 [in]
-
형식: D3DDECLUSAGE
pMeshIn에서 원래 매개 변수화를 포함하는 꼭짓점 선언의 구성 요소를 식별하는 꼭짓점 데이터 사용량(UsageIndex와 함께 사용). D3DDECLUSAGE를 참조하세요.
-
UsageIndex [in]
-
형식: UINT
pMeshIn에서 원래 매개 변수화를 포함하는 꼭짓점 선언의 구성 요소를 식별하는 0부터 시작하는 인덱스(사용량과 함께 사용). 새 매개 변수화에는 D3DDECLUSAGE_TEXCOORD 및 인덱스 0의 조합이 필요합니다. 다른 사용/인덱스 조합이 사용될 수 있습니다.
-
pTextureOut [out]
-
다시 샘플링된 텍스처입니다.
반환 값
형식: HRESULT
메서드가 성공하면 반환 값이 D3D_OK. 메서드가 실패하면 반환 값은 D3DERR_INVALIDCALL, E_OUTOFMEMORY 중 하나일 수 있습니다.
설명
이 함수의 경우 매개 변수화는 메시의 삼각형을 텍스처의 삼각형에 매핑하는 텍스처 좌표 집합입니다. 새 매개 변수화는 여백 도우미 인터페이스에 포함된 텍스처 좌표 집합이며 원래 매개 변수화는 입력 메시에 포함된 텍스처 좌표 집합입니다.
텍스처 좌표는 0에서 1 사이이며 새 매개 변수화는 꼭짓점 선언에서 텍스처 좌표 인덱스 0으로 선언되어야 한다고 가정합니다. 원래 텍스처와 리샘플링된 텍스처는 너비와 높이가 같아야 합니다.
예를 들어 텍스처 다시 샘플링을 준비하려면 다음을 수행합니다.
- D3DXCreateTextureFromFile과 같은 함수를 사용하여 원래 텍스처 인터페이스(아래 pOriginalTex)를 만듭니다.
- 다시 샘플링된 텍스처에 대한 새 텍스처 인터페이스를 만듭니다(아래 pResampledTex). 이 텍스처의 크기는 여백 도우미 텍스처의 크기(너비 및 높이)와 일치해야 합니다.
- D3DXCreateTextureGutterHelper를 호출하여 다음과 같이 새 매개 변수화를 가져옵니다.
// Given:
// pMesh points to a mesh that contains the original and new texture coordinates
ID3DXTextureGutterHelper * pGutterHelper;
// Mesh vertex declaration
D3DVERTEXELEMENT9 decl[] = {
{0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},
{0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL, 0},
// contains new set of texcoords
{0, 24, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0},
// contains original set of texcoords
{0, 32, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 1},
D3DDECL_END()
};
// Create a gutter helper with the new parameterization
hr = D3DXCreateTextureGutterHelper(width, height, pMesh, 1, &pGutterHelper);
// Resample the texture
hr = pGutterHelper->ResampleTex(pOriginalTex, pMesh, D3DDECLUSAGE_TEXCOORD,
1, pResampledTex);
// Release the gutter helper interface when done with it
한 가지 일반적인 시나리오는 UVAtlas를 사용하여 텍스처 아틀라스를 만든 다음 ResampleTex를 사용하여 텍스처를 새 매개 변수화로 다시 샘플링하는 것입니다. 아틀라스에 대한 자세한 내용은 UVAtlas 사용(Direct3D 9)을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보