DirectX Graphics 프로그래밍 가이드 고도의 주제 그 외의 Direct3D extension (D3DX)   [목차열람] [주소복사] [슬롯비우기]
그 외의 Direct3D extension (D3DX)
 
Microsoft DirectX 9.0

그 외의 Direct3D extension (D3DX)


Direct3D extension (D3DX)는, 헬퍼-서비스를 제공하는 유틸리티 라이브러리이다. 이것은 Microsoft® Direct3D® 의 상위의 계층이다.

Microsoft DirectX® 7.0  소프트웨어 개발 킷 (SDK)으로부터, 리소스의 초기화를 용이하게 하기 위해서, 텍스처와 산술 계산의 지원이 시작되었다. DirectX 8.0 SDK 에서는, D3DX 문맥의 초기화의 지원에 의해 Direct3D 의 초기화가 간소화되었다. 그 이후 라이브러리는 확장되어, 메쉬, 셰이더, 이펙트, 산술 계산, 및 텍스처 맵핑의 지원을 포함한, 고도의 기능의 집합체가 되었다.

D3DX 는, 산술 계산, 텍스처 처리, 셰이더 조작등의 기본적인 기능을 폭넓게 지원 함과 동시에, 이펙트 파일이나 메쉬등의 고도의 기능도 지원 하고 있다. 또, 행렬 스택, 단순한 형상, 에러 처리등의 범용 유틸리티도 지원 하고 있다.

텍스처

다음 주제에서는, 다양한 텍스처의 지원에 대해 설명한다.

텍스처의 색변환

D3DXLoadSurfacexxx,D3DXLoadVolumexxx,D3DXCreateTexturexxx,D3DXCreateCubeTexturexxx, 또는 D3DXCreateVolumeTexturexxx 함수의 어느쪽이든을 사용할 때에, 색변환이 필요하게 되는 경우가 있다. 예를 들어, 한편의 표면이 RGBA 타입으로, 이제 한편이 UVWQ 인 것 같은 경우이다. 포맷이 다른 경우의 변환 순서는 다음과 같다.

RGBA 와 UVWQ(L)와의 맵핑

 
R->U
G->V
B->W
A->Q ??? A->L

UV 와 RGBA 와의 맵핑

변환 바탕으로 채널이 존재하지 않는 경우, 그 채널은 1 이다고 보여진다. 다만, A8 는 예외로, R, G, B 는 0 이다고 보여진다. 다음에 예를 나타낸다.

 
U -> R
V -> G
1 -> B
1 -> A

산술 계산

산술 계산의 지원은 일련의 함수에 포함되어 있어 그 내용은 다음과 같다.

기본적인 3D 산술 계산 타입의 지원은, C++ overload와 함께 사용하는 것에 의해 확장된다.

이러한 함수의 더 자세한 정보는, 「함수」를 참조할것. 필요한 함수를 찾아내기 쉽게, 함수는 복수의 폴더에 분할되고 있다.

FLOAT16

FLOAT16 데이터형을 사용하는 경우는, 제한값이 최대 D3DX_16F_MAX 인 것에 주의 해야 한다. FLOAT16 의 값이 이것을 웃돌면 파이프라인으로 미정도리의 동작이 발생한다. 「Direct3D extension (D3DX)의 그 외의 정수」를 참조할것.

그 외

여기에 올리는 것은, 지금까지 가리켜 온 카테고리에 포함되지 않는 D3DX 함수이다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP