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
Tanggal Terakhir Diubah
Status IP
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 rekomendasi penyelesaian telah berubah. Aplikasi harus mengkueri runtime untuk mendapatkan 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 -
nextharus berupaNULLatau pointer yang valid ke struktur berikutnya dalam rantai struktur
Kode contoh
Contoh kode berikut menunjukkan cara memantau 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 = {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;
}
}
Histori Versi
Revisi 1, 04-04-2025 (Kenny Vercaemer)
- Deskripsi ekstensi awal