D3D10_SHADER 상수

HLSL 컴파일 옵션.

#define 설명
D3D10_SHADER_AVOID_FLOW_CONTROL 가능한 경우 흐름 제어를 허용하지 않도록 컴파일러에 지시합니다.
D3D10_SHADER_DEBUG 디버그 파일/줄/유형/기호 정보를 삽입합니다.
D3D10_SHADER_ENABLE_STRICTNESS 기본적으로 HLSL 컴파일러는 사용되지 않는 구문에 대한 엄격성을 사용하지 않도록 설정합니다. 이 플래그를 지정하면 레거시 구문을 허용하지 않을 수 있는 엄격한 작업이 가능합니다.
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY 이렇게 하면 이전 셰이더가 4_0 대상으로 컴파일할 수 있습니다.
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 다음으로 높은 셰이더 프로필에 대한 꼭짓점 셰이더를 컴파일합니다. 이 옵션은 디버깅을 켜고 최적화를 해제합니다.
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 다음으로 높은 셰이더 프로필에 대한 픽셀 셰이더를 컴파일합니다. 이 옵션은 디버깅을 켜고 최적화를 해제합니다.
D3D10_SHADER_IEEE_STRICTNESS IEEE 엄격성을 사용하도록 설정합니다.
D3D10_SHADER_NO_PRESHADER 프리섀더를 사용하지 않도록 설정합니다. 이 플래그를 사용하면 컴파일러가 평가를 위해 정적 식을 꺼내지 않습니다.
D3D10_SHADER_OPTIMIZATION_LEVEL0 가장 낮은 최적화 수준입니다. 더 느린 코드를 생성할 수 있지만 더 빠르게 수행할 수 있습니다. 이는 반복적인 셰이더 개발 주기에서 유용할 수 있습니다.
D3D10_SHADER_OPTIMIZATION_LEVEL1 두 번째로 낮은 최적화 수준입니다.
D3D10_SHADER_OPTIMIZATION_LEVEL2 두 번째로 높은 최적화 수준입니다.
D3D10_SHADER_OPTIMIZATION_LEVEL3 가장 높은 최적화 수준입니다. 가능한 최상의 코드를 생성하지만 그렇게 하는 데 훨씬 더 오래 걸릴 수 있습니다. 성능이 가장 중요한 요소인 애플리케이션의 최종 빌드에 유용합니다.
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 명시적으로 지정하지 않는 한 행렬은 셰이더의 입력 및 출력에 대한 행 주 순서로 압축됩니다.
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 명시적으로 지정하지 않는 한 행렬은 셰이더의 입력 및 출력에 대한 열 중심 순서로 압축됩니다. 일련의 점 제품을 사용하여 벡터 행렬 곱셈을 수행할 수 있으므로 일반적으로 더 효율적입니다.
D3D10_SHADER_PARTIAL_PRECISION 모든 계산을 부분 정밀도로 강제로 수행합니다. 이는 일부 하드웨어에서 더 빠르게 실행 될 수 있습니다.
D3D10_SHADER_PREFER_FLOW_CONTROL 가능하면 흐름 제어를 사용하도록 컴파일러에 지시합니다.
D3D10_SHADER_SKIP_OPTIMIZATION 코드 생성 중에 최적화 건너뛰기; 일반적으로 디버그에만 권장됩니다.
D3D10_SHADER_SKIP_VALIDATION 생성된 코드의 유효성을 알려진 기능 및 제약 조건에 대해 유효성을 검사하지 마세요. 과거에 성공적으로 컴파일된 셰이더에서만 사용합니다. 셰이더는 디바이스로 설정되기 전에 항상 DirectX에서 유효성을 검사합니다.
D3D10_SHADER_WARNINGS_ARE_ERRORS 셰이더 코드를 컴파일할 때 모든 경고를 오류로 처리하도록 HLSL 컴파일러에 알립니다. 새 셰이더 코드의 경우 모든 경고를 resolve 찾기 어려운 코드 결함을 최소화할 수 있도록 이 옵션을 사용해야 합니다.

 

이러한 상수는 d3d10shader.h에서 매크로로 정의됩니다.

셰이더 상수