Name String
XR_ANDROID_light_estimation
एक्सटेंशन टाइप
इंस्टेंस एक्सटेंशन
रजिस्टर किया गया एक्सटेंशन नंबर
701
बदलाव
1
एक्सटेंशन और वर्शन की डिपेंडेंसी
पिछली बार बदलाव किए जाने की तारीख
2025-01-17
आईपी स्टेटस
आईपी से जुड़े किसी भी दावे की जानकारी नहीं है.
योगदान देने वाले
जेरेड फ़ाइंडर, Google
केर्न ओवरटर्फ़, Google
स्पेंसर क्विन, Google
लेवाना चेन, Google
निहाव जैन, Google
सलार खान, Google
स्कॉट चुंग, Google
खास जानकारी
इस एक्सटेंशन की मदद से, ऐप्लिकेशन को हेडसेट के आस-पास के माहौल की रोशनी के डेटा का अनुरोध करने की अनुमति मिलती है. इस जानकारी का इस्तेमाल, वर्चुअल ऑब्जेक्ट को रेंडर करते समय किया जा सकता है. इससे उन्हें उसी तरह से रौशनी मिलती है जिस तरह से सीन में मौजूद ऑब्जेक्ट को मिलती है.
सिस्टम की क्षमता की जांच करना
कोई ऐप्लिकेशन यह जांच कर सकता है कि सिस्टम में रोशनी का अनुमान लगाने की सुविधा काम करती है या नहीं. इसके लिए, xrGetSystemProperties को कॉल करते समय, XrSystemProperties में XrSystemLightEstimationPropertiesANDROID स्ट्रक्चर को जोड़ना होगा.
typedef struct XrSystemLightEstimationPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsLightEstimation;
} XrSystemLightEstimationPropertiesANDROID;
पैसे चुकाकर बने सदस्यों के लिए उपलब्ध सुविधाओं का ब्यौरा
type
इस स्ट्रक्चर का XrStructureType है.next
,NULL
होता है या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर होता है. इस तरह के स्ट्रक्चर, OpenXR के मुख्य स्पेसिफ़िकेशन या इस एक्सटेंशन में तय नहीं किए गए हैं.supportsLightEstimation
एकXrBool32
है. इससे पता चलता है कि मौजूदा सिस्टम, रोशनी का अनुमान लगाने की सुविधा के साथ काम करता है या नहीं.
कोई ऐप्लिकेशन, xrGetSystemProperties को कॉल करते समय, XrSystemProperties को XrSystemLightEstimationPropertiesANDROID स्ट्रक्चर के साथ बढ़ाकर यह देख सकता है कि सिस्टम में लाइट का अनुमान लगाने की सुविधा काम करती है या नहीं.
अगर सिस्टम में रोशनी का अनुमान लगाने की सुविधा काम नहीं करती है, तो यह XR_FALSE
के लिए supportsLightEstimation
और xrCreateLightEstimatorANDROID से XR_ERROR_FEATURE_UNSUPPORTED
दिखाएगा.
मान्य इस्तेमाल (इंप्लिसिट)
- XrSystemLightEstimationPropertiesANDROID का इस्तेमाल करने से पहले, XR_ANDROID_light_estimation एक्सटेंशन को चालू करना ज़रूरी है
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 के मुख्य स्पेसिफ़िकेशन या इस एक्सटेंशन में तय नहीं किए गए हैं.
मान्य इस्तेमाल (इंप्लिसिट)
- XrLightEstimatorCreateInfoANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन को चालू करना ज़रूरी है type
ज़रूरी है किXR_TYPE_LIGHT_ESTIMATOR_CREATE_INFO_ANDROID
होnext
ज़रूरी है कि वहNULL
हो या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर हो
xrDestroyLightEstimatorANDROID फ़ंक्शन, estimator
और इससे जुड़े सभी संसाधनों को रिलीज़ करता है.
XrResult xrDestroyLightEstimatorANDROID(
XrLightEstimatorANDROID estimator);
पैरामीटर की जानकारी
estimator
, XrLightEstimatorANDROID है. इसे पहले xrCreateLightEstimatorANDROID ने बनाया था.
मान्य इस्तेमाल (इंप्लिसिट)
- xrDestroyLightEstimatorANDROID को कॉल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन को चालू करना ज़रूरी है estimator
, XrLightEstimatorANDROID का एक मान्य हैंडल होना चाहिए
थ्रेड सेफ़्टी
estimator
और बच्चों के सभी हैंडल को बाहरी तौर पर सिंक किया जाना चाहिए
रिटर्न कोड
XR_SUCCESS
XR_ERROR_FUNCTION_UNSUPPORTED
XR_ERROR_HANDLE_INVALID
रोशनी का अनुमान लगाने वाले डेटा को ऐक्सेस करना
xrGetLightEstimateANDROID फ़ंक्शन को इस तरह से तय किया गया है:
XrResult xrGetLightEstimateANDROID(
XrLightEstimatorANDROID estimator,
const XrLightEstimateGetInfoANDROID* input,
XrLightEstimateANDROID* output);
पैरामीटर की जानकारी
estimator
:xrCreateLightEstimatorANDROID
का इस्तेमाल करके पहले बनाया गया XrLightEstimatorANDROID हैंडल करें.input
: XrLightEstimateGetInfoANDROID स्ट्रक्चर का पॉइंटर.output
: XrLightEstimateANDROID स्ट्रक्चर का पॉइंटर.
मान्य इस्तेमाल (इंप्लिसिट)
- xrGetLightEstimateANDROID को कॉल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन को चालू करना ज़रूरी है estimator
, XrLightEstimatorANDROID का एक मान्य हैंडल होना चाहिएinput
must, 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
है. इससे पता चलता है कि ऐप्लिकेशन को रोशनी का अनुमान लगाने के लिए किस समय क्वेरी करनी है.
मान्य इस्तेमाल (इंप्लिसिट)
- XrLightEstimateGetInfoANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन को चालू करना ज़रूरी है 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
है. यह बताता है कि अनुमानित कीमत की गणना आखिरी बार कब की गई थी.
एनवायरमेंट लाइटिंग क्यूबमैप, ऐंबियंट लाइट, स्फ़ेरिकल हार्मोनिक्स, और प्राइमरी डायरेक्शनल लाइट के लिए, लाइट एस्टिमेट की जानकारी पाने के लिए ऐप्लिकेशन, नीचे दिए गए स्ट्रक्चर के इंस्टेंस को XrLightEstimateANDROID::next पर एक के बाद एक करके जोड़ सकते हैं. ये स्ट्रक्चर हैं: XrEnvironmentLightingCubemapANDROID, XrAmbientLightANDROID, XrSphericalHarmonicsANDROID, और XrDirectionalLightANDROID.
मान्य इस्तेमाल (इंप्लिसिट)
- XrLightEstimateANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन चालू होना चाहिए type
ज़रूरी है किXR_TYPE_LIGHT_ESTIMATE_ANDROID
होnext
,NULL
या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिए. यह भी देखें: XrAmbientLightANDROID, XrDirectionalLightANDROID, XrEnvironmentLightingCubemapANDROID, XrSphericalHarmonicsANDROIDstate
की वैल्यू, XrLightEstimateStateANDROID की मान्य वैल्यू होनी चाहिए
XrEnvironmentLightingCubemapANDROID स्ट्रक्चर में, सीन की एनवायरमेंट लाइटिंग के बारे में, क्यूबमैप फ़ॉर्मैट में रोशनी का अनुमान लगाने से जुड़ा डेटा होता है.
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 बफ़र को दिखाता है. ध्यान दें कि यह एचडीआर है. इसलिए, फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.cubemapLeftImage
,float*
है. यह क्यूबमैप की बाईं ओर मौजूद R32G32B32_SFLOAT बफ़र को दिखाता है. ध्यान दें कि यह एचडीआर है. इसलिए, फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.cubemapTopImage
,float*
है. यह क्यूबमैप के ऊपरी हिस्से के R32G32B32_SFLOAT बफ़र को दिखाता है. ध्यान दें कि यह एचडीआर है. इसलिए, फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.cubemapBottomImage
, क्यूबमैप के सबसे नीचे वाले हिस्से के R32G32B32_SFLOAT बफ़र को दिखाने वालाfloat*
है. ध्यान दें कि यह एचडीआर है. इसलिए, फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.cubemapFrontImage
,float*
है. यह क्यूबमैप के सामने वाले हिस्से का R32G32B32_SFLOAT बफ़र दिखाता है. ध्यान दें कि यह एचडीआर है. इसलिए, फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.resolution
,uint32_t
है. यह क्यूबमैप की हर साइड की इमेज की चौड़ाई और ऊंचाई को दिखाता है.rotation
एक XrQuaternionf है, जो क्यूबमैप के रोटेशन को दिखाता है.centerExposureTime
एकXrTime
है. इससे पता चलता है कि क्यूबमैप को कब कैप्चर किया गया था. यह क्यूबमैप के बीच इंटरपोलेशन के लिए काम आता है.
मान्य इस्तेमाल (इंप्लिसिट)
- XrEnvironmentLightingCubemapANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन को चालू करना ज़रूरी है type
ज़रूरी है किXR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID
होnext
ज़रूरी है कि वहNULL
हो या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होstate
की वैल्यू, XrLightEstimateStateANDROID की मान्य वैल्यू होनी चाहिएcubemapRightImage
must be a pointer to a valid float valuecubemapLeftImage
must be a pointer to a valid float valuecubemapTopImage
must be a pointer to a valid float valuecubemapBottomImage
must be a pointer to a valid float valuecubemapFrontImage
must be a pointer to a valid float valuecubemapBackImage
must be a pointer to a valid float value
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
है. इन वैल्यू के साथ, गामा करेक्शन वाले रेंडर के रंग को कॉम्पोनेंट के हिसाब से गुणा करें.
मान्य इस्तेमाल (इंप्लिसिट)
- XrAmbientLightANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन को चालू करना ज़रूरी है type
ज़रूरी है किXR_TYPE_AMBIENT_LIGHT_ANDROID
होnext
ज़रूरी है कि वहNULL
हो या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होstate
की वैल्यू, 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
, 9 लाइनों और 3 कॉलम वाला दो डाइमेंशन वालाfloat
अरे है. ये तीन कॉलम, लाल, हरे, और नीले रंग के चैनलों से जुड़े हैं. हर चैनल में नौ स्फ़ेरिकल हार्मोनिक कोएफ़िशिएंट होते हैं.
मान्य इस्तेमाल (इंप्लिसिट)
- XrSphericalHarmonicsANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन चालू होना चाहिए type
ज़रूरी है किXR_TYPE_SPHERICAL_HARMONICS_ANDROID
होnext
ज़रूरी है कि वहNULL
हो या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होstate
की वैल्यू, 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
है. इससे रोशनी की दिशा के बारे में पता चलता है.
मान्य इस्तेमाल (इंप्लिसिट)
- XrDirectionalLightANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन चालू होना चाहिए type
ज़रूरी है किXR_TYPE_DIRECTIONAL_LIGHT_ANDROID
होnext
ज़रूरी है कि वहNULL
हो या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होstate
की वैल्यू, 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
नए फ़ंक्शन
समस्याएं
वर्शन इतिहास
- दूसरा संशोधन, 17-01-2025 (सैलर ख़ान)
- आस-पास की रोशनी के लिए क्यूबमैप की सुविधा जोड़ी गई
- पहला बदलाव, 16-09-2024 (कैर्न ओवरटर्फ)
- एक्सटेंशन के बारे में शुरुआती जानकारी
OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.