DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 구조체 D3DRECTPATCH_INFO   [목차열람] [주소복사] [슬롯비우기]
D3DRECTPATCH_INFO 구조체
 
Microsoft DirectX 9.0

D3DRECTPATCH_INFO 구조체


직사각형의 고차원 패치를 기술한다.

구문

typedef struct _D3DRECTPATCH_INFO {
    UINT StartVertexOffsetWidth;
    UINT StartVertexOffsetHeight;
    UINT Width;
    UINT Height;
    UINT Stride;
    D3DBASISTYPE Basis;
    D3DDEGREETYPE Degree;
} D3DRECTPATCH_INFO;

멤버

StartVertexOffsetWidth
정점의 수로 나타낸, 시작 정점 오프셋(offset)의 폭.
StartVertexOffsetHeight
정점의 수로 나타낸, 시작 정점 오프셋(offset)의 높이.
Width
정점의 수로 나타낸, 각 정점의 폭.
Height
정점의 수로 나타낸, 각 정점의 높이.
Stride
가공의 2 차원 정점 배열의 폭. 이 폭은 정점 버퍼와 같은 공간을 점유 한다. 예에 대해서는, 다음의 그림을 참조할것.
Basis
D3DBASISTYPE 열거형의 멤버. 직사각형의 고차원 패치의 기본 타입을 정의한다.

지원 되는 차수 폭과 높이
D3DBASIS_BEZIER 1 차, 2 차, 3 차 폭 = 높이 = (DWORD) order + 1
D3DBASIS_BSPLINE 1 차, 2 차, 3 차 폭 = 높이 > (DWORD) order
D3DBASIS_INTERPOLATE 2 차 폭 = 높이 > (DWORD) order

Degree
D3DDEGREETYPE 열거형의 멤버. 직사각형 패치의 차수를 정의한다.

주의

다음의 그림에, 직사각형 패치를 지정하는 파라미터를 나타낸다.

직사각형 고차원 패치와 그것을 지정하는 파라미터

정점 버퍼의 각 정점은, 흑점으로써 가리킨다. 이 정점 버퍼에 20 의 정점이 있어, 그 중 16 개는 직사각형 패치내에 있다. 보폭은 정점 버퍼의 폭에 있는 정점의 수로, 이 경우는 5 이다. 최초의 정점에의 x 오프셋(offset)는 StartIndexVertexWidth 로 불려 여기에서는 1 이다. 최초의 패치 정점에의 y 오프셋(offset)는 StartIndexVertexHeight 로 불려 여기에서는 0 이다.

각각의 직사각형 패치의 스트림 (비모자이크)을 렌더링 하려면 , 지오메트리를 가늘고 긴 (1 × N) 직사각형 패치로서 해석해야 한다. 이러한 스트립 (2 차 베지어(Bezier))의 D3DRECTPATCH_INFO 구조체는, 다음과 같이 설정된다.

D3DRECTPATCH_INFO RectInfo;

RectInfo.Width = 4;
RectInfo.Height = 4;
RectInfo.Stride = 4;
RectInfo.Basis = D3DBASIS_BEZIER;
RectInfo.Order = D3DORDER_CUBIC;
RectInfo.StartVertexOffsetWidth = 0;
RectInfo.StartVertexOffsetHeight = 4*i;  // The variable i is the index of the 
                                         //   patch you want to render.
					

구조체의 정보

헤더d3d9types.h
최저한의 operating system Windows 98

참조

IDirect3DDevice9::DrawRectPatch


© 2002 Microsoft Corporation. All rights reserved.
↑TOP