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_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_RUNTIME_FAILUREXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_ERROR_HANDLE_INVALIDXR_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_UNSUPPORTEDXR_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 का एक मान्य हैंडल होना चाहिएinputmust, XrLightEstimateGetInfoANDROID स्ट्रक्चर का मान्य पॉइंटर होना चाहिएoutput, XrLightEstimateANDROID स्ट्रक्चर का पॉइंटर होना चाहिए
रिटर्न कोड
XR_SUCCESSXR_SESSION_LOSS_PENDING
XR_ERROR_FUNCTION_UNSUPPORTEDXR_ERROR_VALIDATION_FAILUREXR_ERROR_RUNTIME_FAILUREXR_ERROR_HANDLE_INVALIDXR_ERROR_INSTANCE_LOSTXR_ERROR_SESSION_LOSTXR_ERROR_OUT_OF_MEMORYXR_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 की मान्य वैल्यू होनी चाहिएcubemapRightImagemust be a pointer to a valid float valuecubemapLeftImagemust be a pointer to a valid float valuecubemapTopImagemust be a pointer to a valid float valuecubemapBottomImagemust be a pointer to a valid float valuecubemapFrontImagemust be a pointer to a valid float valuecubemapBackImagemust 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_ANDROIDXR_TYPE_LIGHT_ESTIMATE_GET_INFO_ANDROIDXR_TYPE_LIGHT_ESTIMATE_ANDROIDXR_TYPE_DIRECTIONAL_LIGHT_ANDROIDXR_TYPE_SPHERICAL_HARMONICS_ANDROIDXR_TYPE_AMBIENT_LIGHT_ANDROIDXR_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. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.