RenderScript 객체 특성 함수

개요

아래 함수를 사용하여 할당, 요소 또는 샘플러 객체의 특성을 쿼리할 수 있습니다. 이러한 객체는 자바에서 생성됩니다. 스크립트로는 생성할 수 없습니다.

할당:

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를 참고하세요.