Name String
XR_ANDROID_light_estimation
نوع الإضافة
إضافة مثيل
رقم الإضافة المسجَّل
701
المراجعة
1
متطلبات الإضافة والإصدار
تاريخ آخر تعديل
2025-01-17
حالة عنوان IP
ما مِن مطالبات معروفة بشأن الملكية الفكرية.
المساهمون
Jared Finder, Google
كيرن أوفرتوف، Google
سبنسر كوين، Google
ليفانا تشين، Google
"نيهاف جاين"، Google
"سالار خان"، Google
"سكوت تشونغ"، Google
نظرة عامة
يتيح هذا الامتداد للتطبيق طلب بيانات تمثّل الإضاءة في البيئة الواقعية المحيطة بسماعة الرأس. ويمكن استخدام هذه المعلومات عند عرض كائنات افتراضية لإضاءتها في الظروف نفسها التي تظهر فيها المشهد الذي تم وضعها فيه.
فحص إمكانات النظام
يمكن لأحد التطبيقات التحقّق مما إذا كان النظام يتيح تقدير الإضاءة من خلال ربط بنية XrSystemLightEstimationPropertiesANDROID ببنية XrSystemProperties عند استدعاء xrGetSystemProperties.
typedef struct XrSystemLightEstimationPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsLightEstimation;
} XrSystemLightEstimationPropertiesANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية. لم يتم تحديد أي بنى من هذا النوع في OpenXR الأساسية أو في هذه الإضافة.-
supportsLightEstimation
هوXrBool32
، يشير إلى ما إذا كان النظام الحالي يتيح تقدير الإضاءة.
يمكن لأحد التطبيقات التحقّق مما إذا كان النظام متوافقًا مع ميزة تقدير الإضاءة من خلال توسيع XrSystemProperties باستخدام بنية XrSystemLightEstimationPropertiesANDROID عند استدعاء xrGetSystemProperties.
إذا كان النظام غير قادر على توفير تقدير الإضاءة، سيعرض القيمة
XR_FALSE
لـ supportsLightEstimation
، وXR_ERROR_FEATURE_UNSUPPORTED
من xrCreateLightEstimatorANDROID.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة XR_ANDROID_light_estimation قبل استخدام XrSystemLightEstimationPropertiesANDROID
- يجب أن يكون
type
XR_TYPE_SYSTEM_LIGHT_ESTIMATION_PROPERTIES_ANDROID
- يجب أن تكون قيمة
next
هيNULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة البِنى
إنشاء معرّف لمقدّر الإضاءة
XR_DEFINE_HANDLE(XrLightEstimatorANDROID)
يمثّل معرّف XrLightEstimatorANDROID أداة لتقدير الإضاءة. يمكن استخدام هذا المقبض للوصول إلى معلومات تقدير الإضاءة باستخدام دوال أخرى في هذا الامتداد.
يتم تعريف الدالة xrCreateLightEstimatorANDROID على النحو التالي:
XrResult xrCreateLightEstimatorANDROID(
XrSession session,
XrLightEstimatorCreateInfoANDROID* createInfo,
XrLightEstimatorANDROID* outHandle);
أوصاف المَعلمات
-
session
هو XrSession الذي ينشئ أداة تقدير الإضاءة. -
createInfo
هو مؤشر إلى بنية XrLightEstimatorCreateInfoANDROID التي تحتوي على المَعلمات التي سيتم استخدامها لإنشاء أداة تقدير الإضاءة. -
outHandle
هو مؤشر إلى معرّف يتم فيه عرض قيمة XrLightEstimatorANDROID التي تم إنشاؤها.
يمكن للتطبيق استخدام الدالة xrCreateLightEstimatorANDROID لإنشاء أداة تقدير الإضاءة.
- ستعرض الدالة xrCreateLightEstimatorANDROID القيمة
XR_ERROR_FEATURE_UNSUPPORTED
إذا كان النظام لا يتيح تقدير الإضاءة. - ستعرض الدالة xrCreateLightEstimatorANDROID القيمة
XR_ERROR_PERMISSION_INSUFFICIENT
إذا لم يتم منح الأذونات المطلوبة للتطبيق الذي يستدعي الدالة.
يمكن استخدام معرّف أداة تقدير الإضاءة الذي تم عرضه لاحقًا في طلبات البيانات من واجهة برمجة التطبيقات. إذا أراد تطبيق إبلاغ وقت التشغيل بأنّه انتهى من الوصول إلى بيانات تقدير الإضاءة، يجب أن يتلف المقبض باستخدام xrDestroyLightEstimatorANDROID.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة
XR_ANDROID_light_estimation
قبل استدعاء xrCreateLightEstimatorANDROID - يجب أن يكون
session
مقابض XrSession صالحة - يجب أن يكون
createInfo
مؤشرًا إلى بنية XrLightEstimatorCreateInfoANDROID - يجب أن يكون
outHandle
مؤشرًا لمقبض XrLightEstimatorANDROID
رموز الإرجاع
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_HANDLE_INVALID
XR_ERROR_LIMIT_REACHED
يصف بنية XrLightEstimatorCreateInfoANDROID المعلومات اللازمة لإنشاء معرّف XrLightEstimatorANDROID.
typedef struct XrLightEstimatorCreateInfoANDROID {
XrStructureType type;
void* next;
} XrLightEstimatorCreateInfoANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية. لم يتم تحديد أي بنى من هذا النوع في OpenXR الأساسية أو في هذه الإضافة.
الاستخدام الصحيح (الضمني)
- يجب تفعيل إضافة
XR_ANDROID_light_estimation
قبل استخدام XrLightEstimatorCreateInfoANDROID - يجب أن يكون
type
XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID
- يجب أن تكون قيمة
next
هيNULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة البِنى
تؤدي الدالة xrDestroyLightEstimatorANDROID إلى تحرير estimator
وأي موارد أساسية.
XrResult xrDestroyLightEstimatorANDROID(
XrLightEstimatorANDROID estimator);
أوصاف المَعلمات
-
estimator
هو XrLightEstimatorANDROID تم إنشاؤه سابقًا باستخدام xrCreateLightEstimatorANDROID.
الاستخدام الصحيح (الضمني)
- يجب تفعيل إضافة
XR_ANDROID_light_estimation
قبل استدعاء xrDestroyLightEstimatorANDROID - يجب أن يكون
estimator
معرّفًا صالحًا لـ XrLightEstimatorANDROID
أمان سلاسل المحادثات
- يجب مزامنة الوصول إلى
estimator
وأي أسماء معرّفات خاصة بالأطفال بشكل خارجي
رموز الإرجاع
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_HANDLE_INVALID
الوصول إلى بيانات تقدير الإضاءة
يتم تعريف الدالة xrGetLightEstimateANDROID على النحو التالي:
XrResult xrGetLightEstimateANDROID(
XrLightEstimatorANDROID estimator,
const XrLightEstimateGetInfoANDROID* input,
XrLightEstimateANDROID* output);
أوصاف المَعلمات
-
estimator
: مقبض XrLightEstimatorANDROID تم إنشاؤه سابقًا باستخدامxrCreateLightEstimatorANDROID
. -
input
: مؤشر إلى بنية XrLightEstimateGetInfoANDROID. -
output
: مؤشر إلى بنية XrLightEstimateANDROID.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة
XR_ANDROID_light_estimation
قبل استدعاء xrGetLightEstimateANDROID - يجب أن يكون
estimator
معرّفًا صالحًا لـ XrLightEstimatorANDROID - يجب أن يكون
input
مؤشرًا إلى بنية XrLightEstimateGetInfoANDROID صالحة - يجب أن يكون
output
مؤشرًا إلى بنية XrLightEstimateANDROID
رموز الإرجاع
XR_SUCCESS
XR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_VALIDATION_FAILURE
XR_ERROR_RUNTIME_FAILURE
XR_ERROR_HANDLE_INVALID
XR_ERROR_INSTANCE_LOST
XR_ERROR_SESSION_LOST
XR_ERROR_OUT_OF_MEMORY
XR_ERROR_TIME_INVALID
تصف السمة XrLightEstimateGetInfoANDROID المعلومات المطلوبة للحصول على بيانات تقدير الإضاءة.
typedef struct XrLightEstimateGetInfoANDROID {
XrStructureType type;
void* next;
XrSpace space;
XrTime time;
} XrLightEstimateGetInfoANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية.-
space
هي XrSpace التي تحدّد المساحة المرجعية التي يتم فيها التعبير عن اتجاه الضوء المرتجع والتوافقيات الكروية وتدوير الخريطة المكعبة. -
time
هوXrTime
الذي يصف الوقت الذي يريد فيه التطبيق الاستعلام عن تقدير الإضاءة.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة
XR_ANDROID_light_estimation
قبل استخدام XrLightEstimateGetInfoANDROID - يجب أن يكون
type
XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID
- يجب أن تكون قيمة
next
هيNULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة البِنى - يجب أن يكون
space
معرّف XrSpace صالحًا
يحتوي البنية XrLightEstimateANDROID على بيانات تقدير الإضاءة.
typedef struct XrLightEstimateANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrTime lastUpdatedTime;
} XrLightEstimateANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية. البُنى الصالحة هي XrAmbientLightANDROID وXrSphericalHarmonicsANDROID وXrEnvironmentLightingCubemapANDROID وXrDirectionalLightANDROID.-
state
هو XrLightEstimateStateANDROID الذي يمثّل حالة تقدير الإضاءة. lastUpdatedTime
هوXrTime
الذي يمثّل آخر وقت تم فيه احتساب التقدير.
للحصول على معلومات تقدير الإضاءة الخاصة بمكعبات البيئة الضوئية، والإضاءة المحيطة، والتوافقيات الكروية، والإضاءة الاتجاهية الأساسية، يمكن للتطبيقات ربط مثيلات البُنى التالية، XrEnvironmentLightingCubemapANDROID وXrAmbientLightANDROID وXrSphericalHarmonicsANDROID وXrDirectionalLightANDROID على التوالي، بـ XrLightEstimateANDROID::next.
الاستخدام الصحيح (الضمني)
- يجب تفعيل إضافة
XR_ANDROID_light_estimation
قبل استخدام XrLightEstimateANDROID - يجب أن يكون
type
XR_TYPE_LIGHT_ESTIMATE_ANDROID
- يجب أن تكون قيمة
next
NULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة بنى. اطّلِع أيضًا على: XrAmbientLightANDROID وXrDirectionalLightANDROID وXrEnvironmentLightingCubemapANDROID وXrSphericalHarmonicsANDROID - يجب أن تكون قيمة
state
must قيمة صالحة XrLightEstimateStateANDROID
يحتوي البنية XrEnvironmentLightingCubemapANDROID على بيانات تقدير الإضاءة بتنسيق cubemap حول إضاءة المشهد.
typedef struct XrEnvironmentLightingCubemapANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
const float* cubemapRightImage;
const float* cubemapLeftImage;
const float* cubemapTopImage;
const float* cubemapBottomImage;
const float* cubemapFrontImage;
const float* cubemapBackImage;
uint32_t resolution;
XrQuaternionf rotation;
XrTime centerExposureTime;
} XrEnvironmentLightingCubemapANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية. البُنى الصالحة هي XrSphericalHarmonicsANDROID وXrAmbientLightANDROID وXrDirectionalLightANDROID.-
state
هو XrLightEstimateStateANDROID الذي يمثّل حالة تقدير الإضاءة. -
cubemapRightImage
هيfloat*
تمثّل المخزن المؤقت R32G32B32_SFLOAT الخاص بالجانب الأيمن من خريطة المكعب. يُرجى العِلم أنّ هذا النطاق الديناميكي العالي (HDR)، لذا يمكن أن تكون قيم الأعداد العائمة أكبر من 1.0. -
cubemapLeftImage
هيfloat*
تمثّل المخزن المؤقت R32G32B32_SFLOAT للجانب الأيسر من خريطة المكعب. يُرجى العِلم أنّ هذا النطاق الديناميكي العالي (HDR)، لذا يمكن أن تكون قيم الأعداد العائمة أكبر من 1.0. -
cubemapTopImage
هيfloat*
تمثّل المخزن المؤقت R32G32B32_SFLOAT للجانب العلوي من خريطة المكعب. يُرجى العِلم أنّ هذا النطاق الديناميكي العالي (HDR)، لذا يمكن أن تكون قيم الأعداد العائمة أكبر من 1.0. -
cubemapBottomImage
هوfloat*
يمثّل المخزن المؤقت R32G32B32_SFLOAT للجانب السفلي من خريطة المكعب. يُرجى العِلم أنّ هذا النطاق الديناميكي العالي (HDR)، لذا يمكن أن تكون قيم الأعداد العائمة أكبر من 1.0. -
cubemapFrontImage
هيfloat*
تمثّل مخزن R32G32B32_SFLOAT للجهة الأمامية من خريطة المكعّب. يُرجى العِلم أنّ هذا النطاق الديناميكي العالي (HDR)، لذا يمكن أن تكون قيم الأعداد العائمة أكبر من 1.0. -
resolution
هوuint32_t
يمثّل عرض وارتفاع صورة كل جانب من جوانب خريطة المكعب. -
rotation
هي XrQuaternionf تمثّل دوران خريطة المكعب. -
centerExposureTime
هيXrTime
تمثّل الوقت الذي تم فيه التقاط خريطة المكعب. مفيد للاستيفاء بين خرائط المكعبات.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة
XR_ANDROID_light_estimation
قبل استخدام XrEnvironmentLightingCubemapANDROID - يجب أن يكون
type
XR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID
- يجب أن تكون قيمة
next
هيNULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة البِنى - يجب أن تكون قيمة
state
must قيمة صالحة XrLightEstimateStateANDROID - يجب أن يكون
cubemapRightImage
مؤشرًا إلى قيمة عائمة صالحة - يجب أن يكون
cubemapLeftImage
مؤشرًا إلى قيمة عائمة صالحة - يجب أن يكون
cubemapTopImage
مؤشرًا إلى قيمة عائمة صالحة - يجب أن يكون
cubemapBottomImage
مؤشرًا إلى قيمة عائمة صالحة - يجب أن يكون
cubemapFrontImage
مؤشرًا إلى قيمة عائمة صالحة - يجب أن يكون
cubemapBackImage
مؤشرًا إلى قيمة عائمة صالحة
يحتوي البنية XrAmbientLightANDROID على بيانات تقدير الضوء المحيط في المشهد.
typedef struct XrAmbientLightANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrVector3f intensity;
XrVector3f colorCorrection;
} XrAmbientLightANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية. البِنى الصالحة هي XrSphericalHarmonicsANDROID وXrEnvironmentLightingCubemapANDROID وXrDirectionalLightANDROID.-
state
هو XrLightEstimateStateANDROID الذي يمثّل حالة تقدير الإضاءة. -
intensity
هيXrVector3
تمثّل شدة الإضاءة المحيطة. يتوافق كل مكون من مكونات الخط المتجه مع قنوات الأحمر والأخضر والأزرق. -
colorCorrection
هوXrVector3
مع قيم في مساحة غاما. اضرب بشكل منفصل لون العرض الذي تم تصحيح قيمته وفقًا لدالة غاما في هذه القيم.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة
XR_ANDROID_light_estimation
قبل استخدام XrAmbientLightANDROID - يجب أن يكون
type
XR_TYPE_AMBIENT_LIGHT_ANDROID
- يجب أن تكون قيمة
next
هيNULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة البِنى - يجب أن تكون قيمة
state
must قيمة صالحة XrLightEstimateStateANDROID
يحتوي البنية XrSphericalHarmonicsANDROID على توافقيات كروية تمثّل إضاءة المشهد.
typedef struct XrSphericalHarmonicsANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrSphericalHarmonicsKindANDROID kind;
float coefficients[9][3];
} XrSphericalHarmonicsANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية. البُنى الصالحة هي XrAmbientLightANDROID وXrEnvironmentLightingCubemapANDROID وXrDirectionalLightANDROID.-
state
هو XrLightEstimateStateANDROID الذي يمثّل حالة تقدير الإضاءة. -
kind
هو XrSphericalHarmonicsKindANDROID الذي طلبه التطبيق. -
coefficients
هو صفيفfloat
ثنائي الأبعاد يتضمّن 9 صفوف و3 أعمدة. تمثّل الأعمدة الثلاثة قنوات الألوان الأحمر والأخضر والأزرق على التوالي. تحتوي كل قناة على 9 معاملات توافقية كروية.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة
XR_ANDROID_light_estimation
قبل استخدام XrSphericalHarmonicsANDROID - يجب أن يكون
type
XR_TYPE_SPHERICAL_HARMONICS_ANDROID
- يجب أن تكون قيمة
next
هيNULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة البِنى - يجب أن تكون قيمة
state
must قيمة صالحة XrLightEstimateStateANDROID - يجب أن تكون قيمة
kind
قيمة صالحة من XrSphericalHarmonicsKindANDROID
يحتوي البنية XrDirectionalLightANDROID على بيانات تقدير الإضاءة.
typedef struct XrDirectionalLightANDROID {
XrStructureType type;
void* next;
XrLightEstimateStateANDROID state;
XrVector3f intensity;
XrVector3f direction;
} XrDirectionalLightANDROID;
أوصاف الأعضاء
-
type
هو XrStructureType لهذا الهيكل. next
هوNULL
أو مؤشر إلى البنية التالية في سلسلة البنية. البُنى الصالحة هي XrAmbientLightANDROID وXrSphericalHarmonicsANDROID وXrDirectionalLightANDROID.-
state
هو XrLightEstimateStateANDROID الذي يمثّل حالة تقدير الإضاءة. -
intensity
هوXrVector3
يمثّل شدة الضوء الاتجاهي. يتوافق كل مكون من مكونات المتّجه مع قنوات الأحمر والأخضر والأزرق. direction
هيXrVector3
تمثّل اتجاه الضوء.
الاستخدام الصحيح (الضمني)
- يجب تفعيل الإضافة
XR_ANDROID_light_estimation
قبل استخدام XrDirectionalLightANDROID - يجب أن يكون
type
XR_TYPE_DIRECTIONAL_LIGHT_ANDROID
- يجب أن تكون قيمة
next
هيNULL
أو مؤشرًا صالحًا إلى البنية التالية في سلسلة البِنى - يجب أن تكون قيمة
state
must قيمة صالحة XrLightEstimateStateANDROID
يحدّد التعداد XrSphericalHarmonicsKindANDROID لوقت التشغيل نوع التوافقيات الكروية التي يطلبها التطبيق.
typedef enum XrSphericalHarmonicsKindANDROID {
XR_SPHERICAL_HARMONICS_KIND_TOTAL_ANDROID = 0,
XR_SPHERICAL_HARMONICS_KIND_AMBIENT_ANDROID = 1
} XrSphericalHarmonicsKindANDROID;
تحمل القيم المُعدّدة المعاني التالية:
Enum |
الوصف |
|
تمثّل معاملات التوافقيات الكروية دالة إشعاع الضوء المحيط، باستثناء المساهمة من الضوء الرئيسي. |
|
تمثّل معاملات التوافقيات الكروية دالة إشعاع الضوء المحيط، بما في ذلك المساهمة من الضوء الرئيسي. |
يحدّد التعداد XrLightEstimateStateANDROID لوقت التشغيل نوع التوافقيات الكروية التي يطلبها التطبيق.
typedef enum XrLightEstimateStateANDROID {
XR_LIGHT_ESTIMATE_STATE_VALID_ANDROID = 0,
XR_LIGHT_ESTIMATE_STATE_INVALID_ANDROID = 1
} XrLightEstimateStateANDROID;
تحمل القيم المُعدّدة المعاني التالية:
Enum |
الوصف |
|
تقدير الإضاءة صالح |
|
تقدير الإضاءة غير صالح |
مثال على الرمز البرمجي لتقدير الإضاءة
يوضّح نموذج الرمز البرمجي التالي كيفية الحصول على جميع كميات تقدير الإضاءة الممكنة من وقت التشغيل.
XrSession session; // Created at app startup
XrSpace appSpace; // Created previously.
XrLightEstimatorANDROID estimator;
XrLightEstimatorCreateInfoANDROID createInfo = {
.type = XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID};
CHK_XR(xrCreateLightEstimatorANDROID(session, &createInfo, &estimator));
// Every frame
XrTime updateTime; // Time used for the current frame's simulation update.
XrLightEstimateGetInfoANDROID info = {
.type = XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID,
.space = appSpace,
.time = updateTime,
};
XrDirectionalLightANDROID directionalLight = {
.type = XR_TYPE_DIRECTIONAL_LIGHT_ANDROID,
};
XrSphericalHarmonicsANDROID totalSh = {
.type = XR_TYPE_SPHERICAL_HARMONICS_ANDROID,
.kind = XR_SPHERICAL_HARMONICS_KIND_TOTAL_ANDROID,
.next = &directionalLight,
};
XrSphericalHarmonicsANDROID ambientSh = {
.type = XR_TYPE_SPHERICAL_HARMONICS_ANDROID,
.kind = XR_SPHERICAL_HARMONICS_KIND_AMBIENT_ANDROID,
.next = &totalSh,
};
XrAmbientLightANDROID ambientLight = {
.type = XR_TYPE_AMBIENT_LIGHT_ANDROID,
.next = &ambientSh,
};
XrEnvironmentLightingCubemapANDROID lightingCubemap {
.type = XR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID,
.next = &ambientLight,
}
XrLightEstimateANDROID estimate = {
.type = XR_TYPE_LIGHT_ESTIMATE_ANDROID,
.next = &lightingCubemap,
};
XrResult result = xrGetLightEstimateANDROID(estimator, &info, &estimate);
if (result == XR_SUCCESS &&
estimate.state == XR_LIGHT_ESTIMATE_STATE_VALID_ANDROID) {
// use directionalLight, totalSh, ambientSh, ambientLight,
// lightingCubemap, if each
// struct has a valid state field
}
// When you want to disable light estimation
CHK_XR(xrDestroyLightEstimatorANDROID(estimator));
أنواع العناصر الجديدة
XrLightEstimator
تمت إضافة ما يلي إلى تعداد XrObjectType:
XR_OBJECT_TYPE_LIGHT_ESTIMATOR_ANDROID
تمت إضافة ما يلي إلى تعداد XrStructureType:
XR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID
XR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROID
XR_TYPE_LIGHT_ESTIMATE_ANDROID
XR_TYPE_DIRECTIONAL_LIGHT_ANDROID
XR_TYPE_SPHERICAL_HARMONICS_ANDROID
XR_TYPE_AMBIENT_LIGHT_ANDROID
XR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID
عمليات التعداد الجديدة
التركيبات الجديدة
- XrLightEstimatorCreateInfoANDROID
- XrLightEstimateGetInfoANDROID
- XrLightEstimateANDROID
- XrDirectionalLightANDROID
- XrSphericalHarmonicsANDROID
- XrAmbientLightANDROID
- XrSystemLightEstimationPropertiesANDROID
- XrEnvironmentLightingCubemapANDROID
الدوال الجديدة
المشاكل
سجلّ التعديلات
- المراجعة 2، 17-01-2025 (سار خان)
- تمت إضافة ميزة التوافق مع مكعبات الخرائط الخاصة بإضاءة البيئة المحيطة
- الإصدار 1، 16-09-2024 (Cairn Overturf)
- الوصف الأوّلي للإضافة
OpenXR™ وشعار OpenXR هما علامتان تجاريتان مملوكتان لشركة The Khronos Group Inc. ومسجّلتان كعلامة تجارية في الصين والاتحاد الأوروبي واليابان والمملكة المتحدة.