패키지 | flash.display |
클래스 | public final dynamic class ShaderParameter |
상속 | ShaderParameter Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
value
속성에 지정해야 합니다.
Shader 인스턴스에 대한 매개 변수를 나타내는 ShaderParameter 인스턴스는 Shader 인스턴스에 있는 data
속성의 속성으로 액세스됩니다. 이 ShaderParameter 속성의 이름은 셰이더 코드의 매개 변수 이름과 같습니다. 예를 들어 셰이더가 radius
라는 이름의 매개 변수를 정의할 경우, radius
매개 변수를 나타내는 ShaderParameter 인스턴스는 다음과 같이 radius
속성으로 제공됩니다.
var radiusParam:ShaderParameter = myShader.data.radius;
ShaderParameter 클래스의 정의된 속성 이외에도 각 ShaderParameter 인스턴스에는 해당 매개 변수에 대해 정의된 모든 메타데이터에 해당하는 추가 속성이 있습니다. 이러한 속성은 ShaderParameter 객체가 생성될 때 이 객체에 추가됩니다. 그리고 속성 이름은 셰이더의 소스 코드에 지정된 메타데이터 이름과 일치합니다. 각 속성의 데이터 유형은 해당 메타데이터의 데이터 유형에 따라 달라집니다. "description"과 같은 텍스트 메타데이터 값은 String 인스턴스입니다. 문자열이 아닌 값이 포함된 메타데이터 속성(예: minValue
또는 defaultValue
)은 Array 인스턴스로 표시됩니다. 요소 및 요소 데이터 유형의 수는 메타데이터 값과 일치합니다.
예를 들어 셰이더에 다음 두 가지의 매개 변수 선언이 포함되어 있다고 가정해 보십시오.
parameter float2 size < description: "The size of the image to which the kernel is applied"; minValue: float2(0.0, 0.0); maxValue: float2(100.0, 100.0); defaultValue: float2(50.0, 50.0); >; parameter float radius < description: "The radius of the effect"; minValue: 0.0; maxValue: 50.0; defaultValue: 25.0; >;
size
매개 변수에 해당하는 ShaderParameter 인스턴스에는 내장된 속성 외에도 다음과 같은 메타데이터 속성이 들어 있습니다.
속성 이름 | 데이터 유형 | 값 |
---|---|---|
name
| String |
"크기"
|
description
| String |
"커널이 적용되는 이미지의 크기"
|
minValue
| Array |
[0, 0]
|
maxValue
| Array |
[100, 100]
|
defaultValue
| Array |
[50, 50]
|
radius
매개 변수에 해당하는 ShaderParameter에는 다음과 같은 추가 속성이 들어 있습니다.
속성 이름 | 데이터 유형 | 값 |
---|---|---|
name
| String |
"반경"
|
description
| String |
"효과의 반경"
|
minValue
| Array |
[0]
|
maxValue
| Array |
[50]
|
defaultValue
| Array |
[25]
|
일반적으로 개발자 코드는 ShaderParameter 인스턴스를 직접 만들지 않습니다. ShaderParameter 인스턴스는 Shader 인스턴스가 생성될 때 셰이더의 각 매개 변수에 대해 만들어집니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
index : int [읽기 전용]
매개 변수의 0부터 시작하는 인덱스입니다. | ShaderParameter | ||
type : String [읽기 전용]
셰이더에 정의된 매개 변수의 데이터 유형입니다. | ShaderParameter | ||
value : Array
셰이더에 매개 변수 값으로 전달되는 한 개 이상의 값입니다. | ShaderParameter |
메서드 | 정의 주체 | ||
---|---|---|---|
ShaderParameter 인스턴스를 만듭니다. | ShaderParameter | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
index | 속성 |
type | 속성 |
value | 속성 |
value:Array
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
셰이더에 매개 변수 값으로 전달되는 한 개 이상의 값입니다. 이 value
속성은 인덱싱된 Array입니다. 이 Array에 들어 있는 요소의 수와 유형은 매개 변수의 데이터 유형과 일치하며 type
속성을 통해 결정될 수 있습니다.
다음 표에는 매개 변수 유형과 value
Array에 들어 있는 요소의 해당 데이터 유형 및 수가 나와 있습니다.
매개 변수 유형 | 요소의 수 | 요소의 데이터 유형 |
---|---|---|
float(ShaderParameterType.FLOAT ) | 1 | Number |
float2(ShaderParameterType.FLOAT2 ) | 2 | Number |
float3(ShaderParameterType.FLOAT3 ) | 3 | Number |
float4(ShaderParameterType.FLOAT4 ) | 4 | Number |
int(ShaderParameterType.INT ) | 1 | int 또는 uint |
int2(ShaderParameterType.INT2 ) | 2 | int 또는 uint |
int3(ShaderParameterType.INT3 ) | 3 | int 또는 uint |
int4(ShaderParameterType.INT4 ) | 4 | int 또는 uint |
bool(ShaderParameterType.BOOL ) | 1 | Boolean |
bool2(ShaderParameterType.BOOL2 ) | 2 | Boolean |
bool3(ShaderParameterType.BOOL3 ) | 3 | Boolean |
bool4(ShaderParameterType.BOOL4 ) | 4 | Boolean |
float2x2(ShaderParameterType.MATRIX2X2 ) | 4 | Number |
float3x3(ShaderParameterType.MATRIX3X3 ) | 9 | Number |
float4x4(ShaderParameterType.MATRIX4X4 ) | 16 | Number |
행렬 매개 변수 유형의 경우, 배열 요소는 행렬의 행을 채운 다음 열을 채웁니다. 예를 들어 ActionScript의 다음 행이 myMatrix
라는 이름의 float2x2
매개 변수를 채우는 데 사용된다고 가정합니다.
myShader.data.myMatrix.value = [.1, .2, .3, .4];
셰이더 내에서 행렬 요소는 다음과 같은 값을 갖습니다.
myMatrix[0][0]
: .1myMatrix[0][1]
: .2myMatrix[1][0]
: .3myMatrix[1][1]
: .4
구현
public function get value():Array
public function set value(value:Array):void
ShaderParameter | () | 생성자 |
public function ShaderParameter()
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 10, AIR 1.5 |
ShaderParameter 인스턴스를 만듭니다. 개발자 코드는 ShaderParameter 생성자를 직접 호출하지 않습니다. ShaderParameter 인스턴스는 Shader 인스턴스가 생성될 때 셰이더의 각 매개 변수에 대해 만들어집니다.
Tue Jun 12 2018, 03:17 PM Z