DirectX 셰이더 재질을 통해 DirectX(Direct3D) 셰이더를 사용하여 뷰포트에서 오브젝트에 음영을 적용할 수 있습니다.
DirectX 음영 처리를 사용하면 뷰포트의 재질에 타 응용 프로그램 또는 게임 엔진과 같은 타 하드웨어에서 재질이 표시되는 방법을 더 정확하게 표현할 수 있습니다. Nitrous 드라이버를 사용하거나(기본 드라이버는 Nitrous Direct3D 11) 기존 Direct3D 드라이버를 사용하는 경우 이 재질을 사용할 수 있습니다.
DirectX 셰이더 재질에서는 다음과 같은 유형의 셰이더를 사용할 수 있습니다.
FX 파일은 DirectX(DX9 또는 DX11) 셰이더를 정의합니다. 이 파일은 HLSL(Higher-Level Shading Language) 표준을 사용하여 만들어진 텍스트 파일입니다.
기본적으로 FX 파일을 비롯한 DirectX 셰이더는 3ds Max 프로그램 디렉토리의 ₩maps₩fx₩에 저장됩니다.
DirectX 셰이더 재질이 ShaderFX에 대한 액세스 권한을 제공하며 이를 통해 하드웨어 셰이더 트리를 만들어 HLSL, CGFX 또는 GLSL 파일로 저장할 수 있습니다. FX 파일 이름 확장자를 사용하여 HLSL 파일을 저장하면 DirectX 셰이더 재질에 대해 사용할 수 있습니다.
Quicksilver 하드웨어 렌더러는 FX 파일 또는 ShaderFX 트리를 사용하는 DirectX 재질을 렌더링할 수 있습니다.
XSML 파일은 하나 이상의 셰이더 트리를 XMSL 형식으로 저장합니다. 슬레이트 재질 편집기에서 MetaSL 셰이더를 사용할 수 있습니다. 맵을 재질 변환으로 노드를 사용하여 MetaSL 셰이더 트리를 XMSL 파일로 저장할 수 있습니다. (저장하면 3ds Max에서 XMSL 파일을 편집할 수 없습니다.)
MetaSL 셰이더를 개발하려면 mental mill ® 응용 프로그램을 사용합니다. MetaSL 셰이더가 mental ray에서 작동하도록 하려면 mental mill을 현상으로 저장해야 합니다. 현상은 mental mill Artist Edition User Guide에 설명되어 있습니다.
mental ray 렌더러는 XSML 파일을 사용하는 DirectX 재질을 렌더링할 수 있습니다.
일반적으로 FX 셰이더는 특정 개수의 라이트, 일반적으로 단일 라이트만 사용하도록 코딩되어 있습니다. 이런 방식으로 코딩되어 있는 FX 파일을 열 경우 셰이더 특정 롤아웃에는 사용할 라이트를 선택할 수 있는 컨트롤이 표시됩니다. 예를 들면 다음과 같습니다.
반면 XSML 셰이더는 특정 라이트를 사용하도록 코딩되어 있지 않으므로 장면에서 모든 활성 라이트를 사용합니다.
DirectX 셰이더의 매핑 가능한 구성요소에 맵을 할당하는 경우 다음과 같은 맵 유형에서 선택할 수 있습니다.
셰이더를 열 수 있는 파일 대화상자를 표시하려면 클릭합니다. 기본적으로 FX 형식(Direct3D 효과)이 활성화되고 셰이더가 standardfx11.fx입니다.
XSML 파일을 열려면 파일 대화상자의 파일 유형 드롭다운 리스트에서 해당 파일 유형을 선택합니다.
활성 셰이더 파일을 다시 로드하려면 클릭합니다. 셰이더 파일을 업데이트하려면 파일을 편집한 다음 다시 로드를 클릭합니다. 셰이더에 대한 변경 적용 사항을 확인하기 위해 3ds Max를 다시 시작할 필요는 없습니다.
ShaderFX 사용이 설정된 상태에서 ShaderFX 노드 트리가 현재 FX 또는 XSML 셰이더를 재정의합니다.
ShaderFX 편집기에 대한 빠른 소개는 ShaderFX 소개 샘플 워크플로우를 참조하십시오. 또한 ShaderFX 노드 정보, ShaderFX 노드 작업 및 ShaderFX 그룹 작업을 참조하십시오.
DirectX 셰이더 롤아웃 아래 및 기술 롤아웃 위에 표시되는 롤아웃은 사용자가 선택한 셰이더의 인터페이스입니다. 이러한 롤아웃은 셰이더별로 특정합니다.
예를 들어 XMSL 파일을 선택하면 셰이더 트리의 각 MetaSL 셰이더에 대해 롤아웃이 나타납니다. 비록 XMSL 파일이 변경되지 않았지만 현재 장면에 대해 로컬로 셰이더 설정을 조정할 수 있습니다.
XMSL 파일을 사용하여 DirectX 재질에 대해 로컬로 편집 가능한 MetaSL 셰이더 롤아웃의 예
3ds Max에 적합하지 않은 셰이더를 로드하면 매개변수 대신 오류 메시지가 표시된 롤아웃이 나타날 수 있습니다. 예를 들면 다음과 같습니다.
XSML 파일에는 둘 이상의 셰이더가 포함될 수 있습니다. 이 중 하나를 열면 기술 롤아웃에 재질이 사용하는 셰이더를 선택할 수 있는 드롭다운 리스트가 있습니다.
DirectX 셰이더 재질이 적용되는 오브젝트의 소프트웨어 음영 처리 및 렌더링을 제어하는 재질을 지정합니다. Nitrous 및 기존 Direct3D 뷰포트는 DX 음영 처리를 사용합니다. OpenGL 뷰포트는 사용하지 않습니다. Quicksilver 하드웨어 렌더러가 아닌 렌더링은 소프트웨어 음영 처리를 사용합니다.
일반적으로 사용자는 장면에서 DirectX 셰이더 재질이 적용된 오브젝트를 명확하게 식별할 수 있는 재질을 선택하고자 합니다.
DirectX를 시스템에서 사용할 수 없으나 어떤 식으로든 DirectX 셰이더 재질을 할당한 경우(재질/맵 브라우저의 비호환 옵션 사용) 이 롤아웃만 재질 편집기에 나타납니다.