다음을 통해 공유


UI 주석

이 주석을 사용하여 호스트 환경의 UI 컨트롤과 효과 매개 변수를 연결합니다. 이렇게 하면 사용자가 호스트 애플리케이션을 통해 효과 매개 변수를 대화형으로 제어할 수 있습니다.

DXSAS는 데이터 모델 및 효과 작성자가 호스트 애플리케이션에서 기대할 수 있는 기본 동작 측면에서 표준 컨트롤 집합을 정의합니다. 컨트롤 주석은 다음과 같이 사용됩니다.

string SasUiControl = "ControlType";

어디

ControlType

는 다음 중 하나입니다.

ControlType 묘사 내부 데이터 형식 Control 속성 주석
없음 컨트롤이 표시되지 않아야 합니다. SasUiVisible True이고 컨트롤 형식이 None 이외의 형식인 경우 컨트롤이 표시됩니다. n/a n/a
어떤 이는 특별한 제어가 요청되지 않음을 의미합니다. 표시되는 컨트롤은 애플리케이션 정의 동작의 결과입니다. n/a n/a
ColorPicker 색 값을 색 견본으로 나타냅니다. 값은 연결된 벡터의 XYZ 구성 요소로 압축됩니다. 연결된 벡터의 W 구성 요소는 항상 1로 설정됩니다. floatN 여기서 N 1에서 4까지 포함됩니다. sasUiEnum
방향 방향 벡터입니다. floatN 여기서 N 2-4 포함입니다. 없음
FilePicker 사용자가 파일을 찾아 선택할 수 있는 대화 상자입니다. 문자열 없음
ListPicker 사용자가 하나의 항목을 선택할 수 있는 문자열 값 목록입니다. 값은 SasUiEnum 주석에서 생성됩니다. 선택한 문자열 값의 인덱스를 포함하는 정수 값과 함께 문자열 배열입니다. sasUiEnum
숫자 숫자 입력 컨트롤 집합(예: 텍스트 상자)입니다. floatMxN 여기서 MN 1에서 4까지 포함됩니다. sasUiMin SasUiMax SasUiStride
슬라이더 슬라이더 집합입니다. floatMxN 여기서 MN 1-4 포함 SasUiMin, SasUiMax, SasUiSteps, SasUiStepsPower
문자열 문자열 콘텐츠를 편집하기 위한 텍스트 상자입니다. 문자열 없음

 

내부 데이터 형식이 연결된 매개 변수의 형식과 동일하지 않으면 호스트 애플리케이션 매개 변수에서 효과 매개 변수로 데이터를 전송할 때 캐스팅이 발생합니다.

기본값은 문자열 "None"입니다.

UI 공통 속성

SasUiDescription

이 주석을 사용하여 도구를 설명하는 문자열을 지정합니다. 도구 팁과 같은 UI 요소에 사용할 수 있습니다.

string SasUiDescription = "descriptive string";

예컨대:

float3 UpNormal
<
  string SasUiDescription = "The normalized up vector";
>;

기본값은 빈 문자열입니다.

SasUiLabel

이 주석을 사용하여 UI 컨트롤에 레이블을 지정할 문자열을 지정합니다.

string SasUiLabel = "some label;

예제는 다음과 같습니다.

float3 UpNormal
<
  string SasUiLabel = "Normal that points up.";
>;

기본값은 빈 문자열입니다.

SasUiVisible

이 주석을 사용하여 연결된 매개 변수를 사용자에게 표시할지 여부를 지정합니다.

bool SasUiVisible = false;

True로 설정하면 호스트 애플리케이션은 주석이 추가된 효과 매개 변수를 편집하기 위한 UI 컨트롤을 표시해야 합니다. false이면 호스트 애플리케이션에 UI가 표시되지 않습니다.

예제는 다음과 같습니다.

float3 UpNormal
<
  string SasUiVisible = false;
>;

기본값은 True입니다.

UI 컨트롤 속성

컨트롤 속성 주석은 특정 컨트롤의 작동 방식을 결정하는 데 도움이 되는 추가 한정자입니다.

SasUiEnum

이 주석을 사용하면 컨트롤의 값 범위를 제한할 수 있습니다. 주석에는 쉼표로 구분된 값 문자열이 포함되어 있습니다.

기본값은 빈 문자열입니다.

SasUiMax

이 주석은 연결된 매개 변수의 최대값을 지정합니다. 숫자 형식의 매개 변수와만 연결할 수 있습니다. 매개 변수의 최대값은 실제로 다음과 같이 계산됩니다.

MaxValue = min(FLT_MAX, PARAMETER_TYPE_MAX);

PARAMETER_TYPE_MAX 연결된 매개 변수에서 사용하는 형식의 최대값입니다. 즉, SasUiMax 주석을 고려하여 매개 변수의 값은 다음과 같이 계산됩니다.

ParameterValue = min(NewParameterValue, MaxValue);

기본값은 Math.h에 정의된 대로 FLT_MAX.

SasUiMin

이 주석은 연결된 매개 변수의 최소값을 지정합니다. 숫자 형식의 매개 변수와만 연결할 수 있습니다. 매개 변수의 최소값은 실제로 다음과 같이 계산됩니다.

MinValue = max(-FLT_MAX, PARAMETER_TYPE_MIN);

PARAMETER_TYPE_MIN 연결된 매개 변수에서 사용하는 형식의 최소값입니다. 즉, SasUiMin 주석을 고려하여 매개 변수의 값은 다음과 같이 계산됩니다.

ParameterValue = max(NewParameterValue, MinValue);

기본값은 Math.h에 정의된 대로 -FLT_MAX.

SasUiSteps

이 주석은 연결된 매개 변수 값을 증가 또는 감소할 때 사용할 수 있는 단계 수를 지정합니다. 주석은 숫자 형식 매개 변수에만 의미가 있습니다. 0은 호스트 애플리케이션이 적절한 수의 단계를 선택하도록 지정합니다.

기본값은 0입니다.

SasUiStepsPower

이 주석은 [0.0f, 1.0f] 범위를 포함하는 전원 함수의 지수를 지정합니다. 호스트 애플리케이션은 매개 변수 값을 계산할 때 다음 메서드를 구현해야 합니다.

ParameterValue = ((SasUiMax - SasUiMin) x pow(UI_VALUE, SasUiStepsPower) + SasUiMin

기본값은 1.0f입니다.

SasUiStride

이 주석은 이 값을 증가하거나 감소할 때 사용해야 하는 증분을 지정합니다. sasUiSteps 달리 SasUiStride 스피너 컨트롤에 유용합니다. 예를 들어 데이터가 바인딩되지 않고 사용자가 미리 정의된 단계 수가 아닌 보폭으로 매개 변수 값을 증가시킬 수 있습니다. 호스트 애플리케이션은 다음과 같이 SasUiStride 값만큼 증가하거나 컨트롤 동작에 따라 감소해야 합니다.

ParameterValue = ParameterValue +/- SasUiStride

기본값은 1.0f입니다.

DirectX 표준 주석 및 의미 체계 참조