Name String
XR_ANDROID_light_estimation
एक्सटेंशन टाइप
इंस्टेंस एक्सटेंशन
रजिस्टर किया गया एक्सटेंशन नंबर
701
बदलाव
1
एक्सटेंशन और वर्शन की डिपेंडेंसी
पिछली बार बदलाव करने की तारीख
2025-01-17
आईपी स्टेटस
आईपी पर कोई दावा नहीं किया गया है.
योगदान देने वाले
जेरेड फ़ाइंडर, Google
केर्न ओवरटर्फ़, Google
स्पेंसर क्विन, Google
लेवाना चेन, Google
निहाव जैन, Google
सलार खान, Google
स्कॉट चुंग, Google
खास जानकारी
इस एक्सटेंशन की मदद से, ऐप्लिकेशन को हेडसेट के आस-पास के रीयल-वर्ल्ड एनवायरमेंट की लाइटिंग के डेटा का अनुरोध करने की अनुमति मिलती है. इस जानकारी का इस्तेमाल, वर्चुअल ऑब्जेक्ट को रेंडर करते समय किया जा सकता है, ताकि उन्हें उसी तरह से रोशन किया जा सके जिस तरह से उन्हें सीन में रखा गया है.
सिस्टम की क्षमता की जांच करना
कोई ऐप्लिकेशन यह जांच कर सकता है कि सिस्टम में लाइट का अनुमान लगाने की सुविधा काम करती है या नहीं. इसके लिए, xrGetSystemProperties को कॉल करते समय, XrSystemLightEstimationPropertiesANDROID स्ट्रक्चर को XrSystemProperties से जोड़ें.
typedef struct XrSystemLightEstimationPropertiesANDROID {
XrStructureType type;
void* next;
XrBool32 supportsLightEstimation;
} XrSystemLightEstimationPropertiesANDROID;
पैसे चुकाकर बने सदस्यों के ब्यौरे
type
, इस स्ट्रक्चर का XrStructureType है.next
,NULL
है या स्ट्रक्चर चेन में अगले स्ट्रक्चर का पॉइंटर है. OpenXR के मुख्य वर्शन या इस एक्सटेंशन में, इस तरह के स्ट्रक्चर तय नहीं किए गए हैं.supportsLightEstimation
एकXrBool32
है, जो यह बताता है कि मौजूदा सिस्टम में लाइट का अनुमान लगाने की सुविधा काम करती है या नहीं.
कोई ऐप्लिकेशन, xrGetSystemProperties को कॉल करते समय, XrSystemLightEstimationPropertiesANDROID स्ट्रक्चर के साथ XrSystemProperties को बड़ा करके, यह जांच कर सकता है कि सिस्टम, लाइट का अनुमान लगाने की सुविधा के साथ काम कर सकता है या नहीं.
अगर सिस्टम में लाइट का अनुमान लगाने की सुविधा काम नहीं करती है, तो यह supportsLightEstimation
के लिए XR_FALSE
और 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 का इस्तेमाल करके हैंडल को नष्ट करना होगा.
मान्य इस्तेमाल (इंप्लिसिट)
- xrCreateLightEstimatorANDROID को कॉल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन चालू होना ज़रूरी है 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
यह, 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
एकfloat*
है, जो क्यूबमैप के सबसे नीचे वाले हिस्से के R32G32B32_SFLOAT बफ़र को दिखाता है. ध्यान दें कि यह एचडीआर है, इसलिए फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.cubemapFrontImage
एकfloat*
है, जो क्यूबमैप के सामने वाले हिस्से के R32G32B32_SFLOAT बफ़र को दिखाता है. ध्यान दें कि यह एचडीआर है, इसलिए फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.resolution
एकuint32_t
है, जो क्यूबमैप के हर हिस्से की इमेज की चौड़ाई और ऊंचाई दिखाता है. ध्यान दें कि यह एचडीआर है, इसलिए फ़्लोट वैल्यू 1.0 से ज़्यादा हो सकती हैं.rotation
एक ऐसा XrQuaternionf है जो क्यूबमैप के घुमाव को दिखाता है.centerExposureTime
एकXrTime
है, जो उस समय को दिखाता है जब क्यूबमैप को कैप्चर किया गया था. यह क्यूबमैप के बीच इंटरपोलेशन के लिए काम का है.
मान्य इस्तेमाल (इंप्लिसिट)
- XrEnvironmentLightingCubemapANDROID का इस्तेमाल करने से पहले,
XR_ANDROID_light_estimation
एक्सटेंशन को चालू करना ज़रूरी है type
कोXR_TYPE_ENVIRONMENT_LIGHTING_CUBEMAP_ANDROID
होना ज़रूरी हैnext
NULL
या स्ट्रक्चर चेन में अगले स्ट्रक्चर का मान्य पॉइंटर होना चाहिएstate
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
है. कॉम्पोनेंट के हिसाब से, अपने गैमा सुधारे गए रेंडर के रंग को इन वैल्यू से गुणा करें.
मान्य इस्तेमाल (इंप्लिसिट)
- 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
, दो डाइमेंशन वालाfloat
ऐरे है, जिसमें 9 पंक्तियां और 3 कॉलम हैं. ये तीन कॉलम, कलर चैनल के हिसाब से लाल, हरे, और नीले रंग के होते हैं. हर चैनल में नौ गोलाकार हार्मोनिक गुणांक होते हैं.
मान्य इस्तेमाल (इंप्लिसिट)
- 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
नए Enums
नए स्ट्रक्चर
- XrLightEstimatorCreateInfoANDROID
- XrLightEstimateGetInfoANDROID
- XrLightEstimateANDROID
- XrDirectionalLightANDROID
- XrSphericalHarmonicsANDROID
- XrAmbientLightANDROID
- XrSystemLightEstimationPropertiesANDROID
- XrEnvironmentLightingCubemapANDROID
नए फ़ंक्शन
समस्याएं
वर्शन का इतिहास
- दूसरा बदलाव, 17-01-2025 (सलार खान)
- आस-पास की रोशनी के लिए क्यूबमैप की सुविधा जोड़ी गई
- पहला बदलाव, 16-09-2024 (कैर्न ओवरटर्फ़)
- एक्सटेंशन के बारे में शुरुआती जानकारी
OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के मालिकाना हक वाले ट्रेडमार्क हैं. ये चीन, यूरोपीय संघ, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किए गए हैं.