XR_ANDROID_recommended_resolution
String Nama
XR_ANDROID_recommended_resolution
Jenis Ekstensi
Ekstensi instance
Nomor Ekstensi Terdaftar
462
Revisi
1
Status Ratifikasi
Tidak diratifikasi
Dependensi Ekstensi dan Versi
Status IP
Tidak ada klaim IP yang diketahui.
Kontributor
Trevor Debrechtabel, Google
Spencer Quin, Google
Lachlan Ford, Google
Vasiliy Baranov, Google
Ringkasan
Ekstensi ini memungkinkan runtime memberi tahu aplikasi saat resolusi yang direkomendasikan berubah, berdasarkan performa sistem saat ini, suhu perangkat, atau faktor lainnya.
Ekstensi ini mengubah spesifikasi dengan cara berikut:
- Runtime dapat menampilkan konten buffer yang tidak identik dari enumerasi xrEnumerateViewConfigurationViews untuk
systemIddanviewConfigurationTypetertentu selama masa aktif instance.
Struktur XrEventDataRecommendedResolutionChangedANDROID ditentukan sebagai:
typedef struct XrEventDataRecommendedResolutionChangedANDROID {
XrStructureType type;
const void* next;
} XrEventDataRecommendedResolutionChangedANDROID;
Deskripsi Anggota
typeadalah XrStructureType dari struktur ini.nextadalahNULLatau pointer ke struktur berikutnya dalam rantai struktur. Tidak ada struktur seperti itu yang ditentukan dalam OpenXR inti atau ekstensi ini.
Menerima struktur peristiwa XrEventDataRecommendedResolutionChangedANDROID menunjukkan bahwa resolusi yang direkomendasikan telah berubah. Aplikasi harus mengkueri runtime untuk resolusi baru yang direkomendasikan menggunakan xrEnumerateViewConfigurationViews .
Penggunaan yang Valid (Implisit)
- Ekstensi
XR_ANDROID_recommended_resolutionharus diaktifkan sebelum menggunakan XrEventDataRecommendedResolutionChangedANDROID -
typeharusXR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID -
nextharusNULLatau pointer yang valid ke struktur berikutnya dalam rantai struktur
Kode contoh
Contoh kode berikut menunjukkan cara memproses peristiwa perubahan resolusi yang direkomendasikan.
// Created at app startup time.
XrInstance instance;
XrSystemId systemId; // Previously initialized.
uint32_t viewCountOutput; // Previously initialized.
// View configuration type the application uses.
XrViewConfigurationType viewConfigType;
// Poll events for recommended resolution changes.
XrEventDataBuffer event = {
.type = XR_TYPE_EVENT_DATA_BUFFER,
};
XrResult result = xrPollEvent(instance, &event);
if (result == XR_SUCCESS) {
switch (event.type) {
case XR_TYPE_EVENT_DATA_RECOMMENDED_RESOLUTION_CHANGED_ANDROID: {
uint32_t viewCapacityInput = viewCountOutput;
std::vector<XrViewConfigurationView> views(viewCapacityInput);
result = xrEnumerateViewConfigurationViews(instance, systemId,
viewConfigType, viewCapacityInput, &viewCountOutput, views.data());
if(!XR_SUCCEEDED(result)) {
// Handle error
}
// New recommended resolution is found in
// views.recommendedImageRectWidth and views.recommendedImageRectHeight
// Change the resolution for the viewConfigType
break;
}
default:
break;
}
}
Riwayat Versi
Revisi 1, 04-04-2025 (Kenny Vercaemer)
- Deskripsi ekstensi awal