개요
아래 함수를 사용하여 할당, 요소 또는 샘플러 객체의 특성을 쿼리할 수 있습니다. 이러한 객체는 자바에서 생성됩니다. 스크립트로는 생성할 수 없습니다.
할당:
Allocation은 RenderScript 커널과 데이터를 전달하는 데 사용되는 기본 메서드입니다.
비트맵, 텍스처, 임의의 데이터 포인트 등을 저장하는 데 사용할 수 있는 구조화된 셀 모음입니다.
이 셀 모음은 다양한 차원 (X, Y, Z, Array0, Array1, Array2, Array3), 면 (큐브맵용), 세부정보 수준 (밉매핑용)을 가질 수 있습니다.
Allocation 생성에 관한 자세한 내용은 android.renderscript.Allocation을 참고하세요.
요소:
'요소'라는 용어는 RenderScript에서 약간 모호하게 사용됩니다. Allocation의 셀에 관한 유형 정보와 이 유형의 인스턴스화를 모두 의미하기 때문입니다. 예:
- rs_element는 유형 사양의 핸들입니다.
- rsGetElementAt()과 같은 함수에서 'element'는 유형의 인스턴스화(즉, Allocation의 셀)를 의미합니다.
아래 함수를 사용하면 유형 사양의 특성을 쿼리할 수 있습니다.
요소는 C에 있는 간단한 데이터 유형(예: 정수, 부동 소수점 수, 불리언)을 지정할 수 있습니다. RenderScript 객체에 핸들을 지정할 수도 있습니다. 기본 유형 목록은 rs_data_type을 참고하세요.
요소는 기본 유형의 고정 크기 벡터 (크기 2, 3 또는 4) 버전을 지정할 수 있습니다. 요소를 복잡한 요소로 함께 그룹화하여 C 구조 정의와 동등한 요소를 만들 수 있습니다.
요소에는 픽셀 데이터를 해석하는 데 사용되는 시맨틱 정보인 종류도 있을 수 있습니다. rs_data_kind를 참고하세요.
공통 요소의 Allocation을 생성할 때는 F32_2와 같은 사전 정의된 여러 요소 중 하나를 간단히 사용할 수 있습니다.
복잡한 요소를 만들려면 Element.Builder 자바 클래스를 사용합니다.
샘플러:
샘플러 객체는 Allocation을 커널 내에서 구조로 읽는 방법을 정의합니다. android.renderscript.S를 참고하세요.
요약
함수 | |
---|---|
rsAllocationGetDimFaces | 2개 이상의 얼굴이 있는 경우 |
rsAllocationGetDimLOD | 세부정보 수준 존재 |
rsAllocationGetDimX | X 차원의 크기 |
rsAllocationGetDimY | Y 측정기준의 크기 |
rsAllocationGetDimZ | Z 차원의 크기 |
rsAllocationGetElement | Allocation의 셀을 설명하는 객체 가져오기 |
rsClearObject 드림 | 객체 해제 |
rsElementGetBytesSize | 요소의 크기 |
rsElementGetDataKind는 | 요소의 종류 |
rsElementGetDataType 열거형 | 요소의 데이터 유형 |
rsElementGetSubElement | 복잡한 요소의 하위 요소 |
rsElementGetSubElementArraySize 드림 | 복합 요소의 하위 요소 배열 크기 |
rsElementGetSubElementCount | 하위 요소의 수 |
rsElementGetSubElementName 정보 추가 | 하위 요소의 이름 |
rsElementGetSubElementNameLength | 하위 요소의 이름 길이 |
rsElementGetSubElementOffsetBytes | 인스턴스화된 하위 요소의 오프셋 |
rsElementGetVectorSize입니다. | 요소의 벡터 크기 |
rsIsObject - | 빈 핸들 확인 |
rsSamplerGetAnisotropy | 샘플러의 비등방성 |
rsSamplerGetMagnification | 샘플러 확대 값 |
rsSamplerGetMinification | 샘플러 압축 값 |
rsSamplerGetWrapS | 샘플러 래핑 S 값 |
rsSamplerGetWrapT를 사용하세요. | 샘플러 래핑 T 값 |
지원 중단된 함수 | |
---|---|
rsGetAllocation | 지원 중단되었습니다. 지정된 포인터에 관해 Allocation 반환 |
함수
rsAllocationGetDimFaces : 2개 이상의 얼굴이 존재하는 경우
uint32_t rsAllocationGetDimFaces(rs_allocation a); |
반환 값
두 개 이상의 얼굴이 있으면 1을 반환하고 그렇지 않으면 0을 반환합니다. |
할당이 큐브맵인 경우 얼굴이 두 개 이상 있으면 이 함수는 1을 반환합니다. 그 외 모든 경우에는 0을 반환합니다.
rsGetDimHasFaces()를 사용해 현재 실행 중인 커널의 차원을 가져옵니다.
rsAllocationGetDimLOD : 세부정보 수준 존재
uint32_t rsAllocationGetDimLOD(rs_allocation a); |
반환 값
LOD가 두 개 이상 있으면 1을, 없으면 0을 반환합니다. |
둘 이상의 세부 수준이 존재하는지 할당을 쿼리합니다. 이는 밉맵에 유용합니다.
rsGetDimLod()를 사용하여 현재 실행 중인 커널의 차원을 가져옵니다.
rsAllocationGetDimX : X 측정기준의 크기
uint32_t rsAllocationGetDimX(rs_allocation a); |
반환 값
X 차원입니다. |
Allocation의 X 차원 크기를 반환합니다.
rsGetDimX()를 사용하여 현재 실행 중인 커널의 차원을 가져옵니다.
rsAllocationGetDimY : Y 측정기준의 크기
uint32_t rsAllocationGetDimY(rs_allocation a); |
반환 값
할당의 Y 측정기준입니다. |
Allocation의 Y 차원 크기를 반환합니다. Allocation의 차원이 2개 미만인 경우 0을 반환합니다.
rsGetDimY()를 사용하여 현재 실행 중인 커널의 차원을 가져옵니다.
rsAllocationGetDimZ : Z 차원의 크기
uint32_t rsAllocationGetDimZ(rs_allocation a); |
반환 값
할당의 Z차원입니다. |
Allocation의 Z 차원 크기를 반환합니다. Allocation의 차원이 3개 미만인 경우 0을 반환합니다.
rsGetDimZ()를 사용하여 현재 실행 중인 커널의 차원을 가져옵니다.
rsAllocationGetElement : Allocation의 셀을 설명하는 객체를 가져옵니다.
rs_element rsAllocationGetElement(rs_allocation a); |
매개변수
a | 데이터를 가져올 할당입니다. |
---|
반환 값
Allocation 레이아웃을 설명하는 요소입니다. |
Allocation 셀의 유형, 종류, 기타 특성을 설명하는 Element 객체를 가져옵니다. 아래의 rsElement* 함수를 참고하세요.
rsClearObject : 객체 해제
void rsClearObject(rs_allocation* dst); | |
void rsClearObject(rs_element* dst); | |
void rsClearObject(rs_font* dst); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
void rsClearObject(rs_mesh* dst); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
void rsClearObject(rs_program_fragment* dst); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
void rsClearObject(rs_program_raster* dst); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
void rsClearObject(rs_program_store* dst); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
void rsClearObject(rs_program_vertex* dst); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
void rsClearObject(rs_sampler* dst); | |
void rsClearObject(rs_script* dst); | |
void rsClearObject(rs_type* dst); |
이 핸들을 더 이상 관련 객체에 액세스하는 데 사용하지 않음을 런타임에 알립니다. 이 핸들이 해당 객체의 마지막 핸들인 경우 리소스 복구가 발생할 수 있습니다.
이 함수를 호출하면 *dst가 빈 핸들로 설정됩니다. rsIsObject()를 참고하세요.
rsElementGetBytesSize : 요소 크기
uint32_t rsElementGetBytesSize(rs_element e); | API 수준 16에 추가되었습니다. |
이 요소의 인스턴스화가 차지할 크기(바이트)를 반환합니다.
rsElementGetDataKind : 요소의 종류
rs_data_kind rsElementGetDataKind(rs_element e); | API 수준 16에 추가되었습니다. |
요소의 데이터 종류를 반환합니다. 이는 픽셀 데이터를 해석하는 데 사용됩니다.
rs_data_kind를 참고하세요.
rsElementGetDataType : 요소의 데이터 유형
rs_data_type rsElementGetDataType(rs_element e); | API 수준 16에 추가되었습니다. |
요소의 기본 데이터 유형을 반환합니다. 이는 C/C++와 유사한 유형 (예: RS_TYPE_UNSIGNED_8), 핸들 (예: RS_TYPE_ALLOCATION 및 RS_TYPE_ELEMENT) 또는 더 복잡한 숫자 유형 (예: RS_TYPE_UNSIGNED_5_6_5 및 RS_TYPE_MATRIX_4X4)일 수 있습니다. rs_data_type을 참고하세요.
요소가 벡터를 설명하는 경우 이 함수는 항목 중 하나의 데이터 유형을 반환합니다. rsElementGetVectorSize를 사용하여 벡터 크기를 가져옵니다.
요소가 구조를 설명하는 경우 RS_TYPE_NONE이 반환됩니다. rsElementGetSub* 함수를 사용하여 이 복잡한 요소를 탐색합니다.
rsElementGetSubElement : 복잡한 요소의 하위 요소
rs_element rsElementGetSubElement(rs_element e, uint32_t index); | API 수준 16에 추가되었습니다. |
매개변수
e | 쿼리할 요소입니다. |
---|---|
index | 반환할 하위 요소의 색인입니다. |
반환 값
지정된 색인의 하위 요소입니다. |
구조를 나타내는 요소의 경우 이 함수는 지정된 색인의 하위 요소를 반환합니다.
요소가 구조가 아니거나 색인이 하위 요소의 수보다 크거나 같으면 잘못된 핸들이 반환됩니다.
rsElementGetSubElementArraySize : 복합 요소의 하위 요소 배열 크기
uint32_t rsElementGetSubElementArraySize(rs_element e, uint32_t index); | API 수준 16에 추가되었습니다. |
매개변수
e | 쿼리할 요소입니다. |
---|---|
index | 하위 요소의 색인입니다. |
반환 값
하위 요소의 배열 크기입니다. |
복잡한 요소의 경우 하위 요소는 정적 크기가 지정된 배열일 수 있습니다. 이 함수는 색인에 있는 하위 요소의 배열 크기를 반환합니다. 이 하위 요소 반복은 고정 크기 벡터와 다릅니다.
rsElementGetSubElementCount : 하위 요소의 수
uint32_t rsElementGetSubElementCount(rs_element e); | API 수준 16에 추가되었습니다. |
매개변수
e | 데이터를 가져올 요소입니다. |
---|
반환 값
하위 요소의 수입니다. |
요소는 int나 float 또는 여러 하위 요소가 있는 구조와 같이 단순할 수 있습니다. 이 함수는 단순 요소의 경우 0을, 복잡한 요소의 경우 하위 요소 수를 반환합니다.
rsElementGetSubElementName : 하위 요소의 이름
uint32_t rsElementGetSubElementName(rs_element e, uint32_t index, char* name, uint32_t nameLength); | API 수준 16에 추가되었습니다. |
매개변수
e | 데이터를 가져올 요소입니다. |
---|---|
index | 하위 요소의 색인입니다. |
name | 이름을 저장할 배열의 주소입니다. |
이름 길이 | 제공된 이름 배열의 길이입니다. |
반환 값
null 종결자를 제외하고 복사된 문자 수입니다. |
복잡한 요소의 경우 이 함수는 지정된 색인의 하위 요소 이름을 반환합니다.
rsElementGetSubElementNameLength : 하위 요소의 이름 길이
uint32_t rsElementGetSubElementNameLength(rs_element e, uint32_t index); | API 수준 16에 추가되었습니다. |
매개변수
e | 데이터를 가져올 요소입니다. |
---|---|
index | 하위 요소의 색인입니다. |
반환 값
null 종결자가 포함된 하위 요소 이름의 길이입니다. |
복잡한 요소의 경우 이 함수는 지정된 색인에 있는 하위 요소 이름의 길이를 반환합니다.
rsElementGetSubElementOffsetBytes : 인스턴스화된 하위 요소의 오프셋
uint32_t rsElementGetSubElementOffsetBytes(rs_element e, uint32_t index); | API 수준 16에 추가되었습니다. |
매개변수
e | 데이터를 가져올 요소입니다. |
---|---|
index | 하위 요소의 색인입니다. |
반환 값
바이트 단위의 오프셋입니다. |
이 함수는 요소의 인스턴스화 내에 지정된 하위 요소의 인스턴스화에 대한 상대적 위치를 반환합니다.
예를 들어 요소가 32비트 부동 소수점 다음에 32비트 정수를 설명하는 경우 첫 번째에 대한 오프셋 반환은 0, 두 번째는 4입니다.
rsElementGetVectorSize : 요소의 벡터 크기
uint32_t rsElementGetVectorSize(rs_element e); | API 수준 16에 추가되었습니다. |
매개변수
e | 데이터를 가져올 요소입니다. |
---|
반환 값
요소 벡터의 길이입니다. |
요소의 벡터 크기를 반환합니다. 요소가 벡터를 나타내지 않으면 1이 반환됩니다.
rsGetAllocation : 특정 포인터에 대한 Allocation을 반환합니다.
rs_allocation rsGetAllocation(const void* p); |
사용이 중단되었습니다. 이 함수는 지원 중단되었으며 향후 출시 버전에서 SDK에서 삭제될 예정입니다.
지정된 포인터에 Allocation을 반환합니다. 포인터는 유효한 할당 내부를 가리켜야 합니다. 포인터가 유효한 Allocation에서 온 것이 아닌 경우 결과는 정의되지 않습니다.
rsIsObject : 빈 핸들이 있는지 확인
bool rsIsObject(rs_allocation v); | |
bool rsIsObject(rs_element v); | |
bool rsIsObject(rs_font v); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
bool rsIsObject(rs_mesh v); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
bool rsIsObject(rs_program_fragment v); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
bool rsIsObject(rs_program_raster v); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
bool rsIsObject(rs_program_store v); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
bool rsIsObject(rs_program_vertex v); | 32비트로 컴파일하는 경우 API 수준 23 이상에서 삭제되었습니다. |
bool rsIsObject(rs_sampler v); | |
bool rsIsObject(rs_script v); | |
bool rsIsObject(rs_type v); |
핸들에 null이 아닌 참조가 포함되어 있으면 true를 반환합니다.
이 함수는 핸들에 사용된 내부 포인터가 실제 유효한 객체를 가리키는지 확인하지 않으며 null인지만 확인합니다.
이 함수를 사용하면 rsElementGetSubElement()에서 반환된 요소를 확인하거나 rsClearObject()가 핸들에서 호출되었는지 확인할 수 있습니다.
rsSamplerGetAnisotropy : 샘플러의 비등방성
float rsSamplerGetAnisotropy(rs_sampler s); | API 수준 16에 추가되었습니다. |
샘플러의 비등방성을 가져옵니다.
android.renderscript.S를 참고하세요.
rsSamplerGetMagnification : 샘플러 확대 값
rs_sampler_value rsSamplerGetMagnification(rs_sampler s); | API 수준 16에 추가되었습니다. |
샘플러의 확대 값을 가져옵니다.
android.renderscript.S를 참고하세요.
rsSamplerGetMinification : 샘플러 축소 값
rs_sampler_value rsSamplerGetMinification(rs_sampler s); | API 수준 16에 추가되었습니다. |
샘플러의 축소 값을 가져옵니다.
android.renderscript.S를 참고하세요.
rsSamplerGetWrapS : 샘플러 래핑 S 값
rs_sampler_value rsSamplerGetWrapS(rs_sampler s); | API 수준 16에 추가되었습니다. |
샘플러의 래핑 S 값을 가져옵니다.
android.renderscript.S를 참고하세요.
rsSamplerGetWrapT : 샘플러 래핑 T 값
rs_sampler_value rsSamplerGetWrapT(rs_sampler s); | API 수준 16에 추가되었습니다. |
샘플러의 래핑 T 값을 가져옵니다.
android.renderscript.S를 참고하세요.