DirectX Graphics 프로그래밍 가이드 튜토리얼, 샘플, 툴, 힌트 샘플 DXTex 툴   [목차열람] [주소복사] [슬롯비우기]
DXTex 툴
 
Microsoft DirectX 9.0

DXTex 툴


설명

Microsoft® DirectX® Texture (DXTex) 툴을 사용하면 DirectX 소프트웨어 개발 킷 (SDK) 사용자는 새로운 DXTn 압축 포맷을 사용해 텍스처 맵을 생성 할 수 있다. DXTn 로 압축된 텍스처의 생성은 어렵지 않다. 다만,IDirect3DTexture9 인터페이스를 사용하면 이 변환을 Microsoft Direct3D® 에 의해 자동적으로 실행할 수 있다. 상급의 개발자이면 특정의 요구를 채우는 독자적인 툴을 생성 할 수도 있지만, DXTex 툴은 편리하고 기본적인 기능을 갖추고 있다.

기능

현시점에서, DXTex 는, R·G·B 텍스처가 1 개에서도 빠져 있는 표면 포맷 (D3DFMT_G16R16 나 D3DFMT_A8 등)의 텍스처는 지원 하고 있지 않다. 다만, Direct3D extension (D3DX)에서는, 이러한 텍스처도 DDS 포맷으로 로드 및 보존할 수 있다.

패스

소스 파일 : (SDK 루트) \Samples\Multimedia\Direct3D\DXTex

실행 가능 파일 : (SDK 루트) \bin\dxutils

사용자 인터페이스

DXTex 에서는, 각 텍스처 맵은 문서이며, 동시에 복수의 문서를 열 수가 있는, 종래의 사용자 인터페이스 (UI)를 사용하고 있다. 다만, DXTex 로 문서를 열고 있을 때는, 각 문서에서는 1 개 또는 2 개의 포맷으로 동시에 텍스처를 사용할 수 있다. 예를 들어,. bmp 파일을 임포트 할 수가 있다. 이것에 의해, 자동적으로 32 비트 ARGB 텍스처가 생성 된다. 다음에, 이 텍스처를 DXT1 포맷으로 변환한다. 이 시점에서, 문서에는 이미지가 2 개의 포맷으로 열리고 있다. 포맷을 바꾸려면 , 윈도우를 클릭한다. [View] 메뉴의 [Original View] 또는 [New View] 를 클릭해 바꿀 수도 있다. 이와 같이 조작하는 것으로, 이미지 압축에 의해 생기는 부자연스러운 효과를 확인할 수 있어 이미지의 품질을 단계적으로 열화 시키는 일 없이 다른 압축 포맷을 간단하게 시험할 수가 있다. 예를 들어, 이 방법을 사용하지 않고 , 이미지를 ARGB 로부터 DXT1 로 변환하면 알파의 1 비트를 제외한 모든 비트가 없어진다.

그 후 DXT2 로 변환해도, 알파 레벨은 2 개 밖에 존재하지 않게 된다. DXTex 시스템에서는, 이 2 번째의 변환은 원의 ARGB 포맷화 라행 깨져 변환된 DXT2 이미지에는, DXT2 가 지원 하는 16 레벨의 알파가 모두 포함된다. 이 이미지를 보존 하면, 원의 포맷은 파기되어 새로운 포맷만이 보존된다.

DXTex 인터페이스를 사용하는 경우는, 다음의 점에 주의 해야 한다.

퍼포먼스

DXTex 에서는, 3D 하드웨어가 사용 가능한가 어떤가에 관계없이, Direct3D 레퍼런스 래스터라이저를 사용해 텍스처를 드로잉(Drawing) 한다. 따라서, 텍스처가 큰 (256 × 256 픽셀을 넘는다) 경우, 애플리케이션은 CPU 의 속도에 응해 약간 늦어지는 일이 있다.

DDS 파일 포맷

DDS 파일 포맷의 더 자세한 정보는, 「DDS 파일 레퍼런스」를 참조할것.

밉맵

밉맵은, 복수의 해상도로 미리 필터 처리된 텍스처 이미지를 제공하는 것에 의해, 화질을 향상시켜, 텍스처 메모리의 대역폭을 감소시키는 방법이다.

DXTex 로 밉맵을 생성하려면 , 소스 이미지의 폭과 높이가 함께 2 의 거듭제곱이 아니면 안된다. 이 밉맵을 생성하려면 ,[Format] 메뉴의 [Generate Mip Maps] 를 클릭한다. 필터링은, 단순한 박스 필터로 실행된다. 즉, 가장 가까운 4 개의 픽셀이 평균화되어 목적의 픽셀이 생성 된다.

알파

많은 텍스처 포맷에는, 각 픽셀의 불투명도의 정보를 제공하는 알파 채널이 포함되어 있다. DXTex 는 텍스처에 있어서의 알파를 완전 지원 한다.. bmp 파일을 임포트 하는 경우에, 사이즈가 같은 2 개의 파일이 존재해, 그 한편의 파일명이 "_a" 로 끝날 때는 (Sample.bmp 및 Sample_a.bmp 등),"_a" 로 끝나는 파일이 알파 채널로서 로드 된다. 이 2 번째의 . bmp 의 파랑의 채널이 알파 채널에 저장 된다. 파일을 열면[File] 메뉴의 [Open As Alpha Channel] 를 클릭해, 명시적으로 . bmp 파일을 알파 채널로서 로드할 수 있다.

알파 채널을 RGB 채널없이 직접 표시하려면 ,[View] 메뉴의 [Alpha Channel Only] 를 클릭한다. 알파 채널이 그레이 스케일 이미지로서 표시된다. 알파 채널이 로드되지 않은 경우, 모든 픽셀로 알파 채널은 100 퍼센트가 되어,[Alpha Channel Only] 를 선택 하면 이미지가 희게 전부 칠해진다. 알파 채널을 비표시로 하려면 ,[Alpha Channel Only] 를 한번 더 클릭한다.

보통의 뷰에서는 알파 채널의 효과가 눈에 보이지만, 이것은, 윈도우가 백그라운드 컬러로 전부 칠해지고 있어 알파 채널이 100 퍼센트 미만의 텍스처에서는, 그 색이 비쳐 보이기 때문이다. 백그라운드 컬러를 변경하려면 ,[View] 메뉴의 [Change Background Color] 를 클릭한다. 이 선택을 실행해도, 텍스처 그 자체, 또는 파일을 보존할 경우에 써넣어지는 데이터에는 영향을 주지 않는다.

DXT2 포맷 및 DXT4 포맷에서는, 미리 계산된 알파가 사용된다. 즉, 표면에 저장 되는 적·록·청의 값에는, 대응하는 알파값이 이미 곱셈되고 있다. Direct3D 에서는, 미리 계산된 알파가 포함되는 표면으로부터 미리 계산되지 않은 알파가 포함되는 표면에 복사 할 수 없다. 따라서, DXTex 의 일부의 처리 (알파 채널로서 여는, DXT3 에의 변환, DXT5 에의 변환)는, DXT2 및 DXT4 포맷에서는 실행할 수 없다. DXTn 텍스처를 지원 하지 않는 Direct3D 장치에서는, 이러한 포맷을 사용한 텍스처를 지원 하는 것은 어렵다. 이것은, Direct3D 에서는 이러한 포맷을 종래의 ARGB 표면에도 복사 할 수 없기 때문이다. ARGB 표면에서도 미리 계산된 알파가 사용되고 있는 경우는 복사 할 수 있지만, 이러한 경우는 보기 드물다. 이러한 이유로부터, 가능하면 DXT2 보다 DXT3 를, DXT4 보다 DXT5 를 사용하는 쪽이 간단하다.

커멘드 라인 옵션

커멘드 라인 옵션을 사용해, 입력 파일, 출력 파일명, 및 처리 옵션을 DXTex 에 건네줄 수가 있다. 출력 파일명을 지정했을 경우는, 그 출력 파일을 기입한 후에 애플리케이션이 자동 종료해, 사용자 인터페이스는 표시되지 않는다.

dxtex [infilename] [-a alphaname] [-m] [DXT1|DXT2|DXT3|DXT4|DXT5] [outfilename]

infilename:               Name of the file to load.   This can be a
                            . bmp or . dds file.

-a alphaname:             The next parameter is the name of a . bmp 
                            file to load as the alpha channel.  If no 
                            alpha filename is specified, DXTex still
                            looks for a file named Infilename_a.bmp.  If 
                            it exists, use that file as the alpha 
                            channel.

-m:                       Mipmaps are generated.

DXT1|DXT2|DXT3|DXT4|DXT5: Compression format.  If no format is 
                            specified, the image will be in ARGB-8888.

outfilename:              Name of the destination file.  If this 
                            option is not specified, the user interface 
                            shows the current file and all requested 
                            operations.   If an outfilename is specified, 
                            the application exits after saving the 
                            processed file without presenting a user 
                            interface.


© 2002 Microsoft Corporation. All rights reserved.
↑TOP