WebGL और OpenGL ES से गायब सुविधाएँ


10

मैंने WebGL का उपयोग करना शुरू कर दिया है और अपने OpenGL (और एक्सटेंशन OpenGL ES) के अनुभव का लाभ उठाना कितना आसान है, इससे प्रसन्न हूं। हालाँकि, मेरी समझ इस प्रकार है:

  • OpenGL ES, OpenGL का एक सबसेट है
  • WebGL OpenGL ES का सबसेट है

क्या यह दोनों मामलों के लिए सही है? यदि हां, तो क्या विस्तार के लिए संसाधन हैं जो सुविधाएँ गायब हैं?

उदाहरण के लिए, एक उल्लेखनीय लापता विशेषता है glPushMatrixऔर glPopMatrix। मैं उन लोगों को WebGL में नहीं देखता, लेकिन अपनी खोजों में मैं उन्हें OpenGL ES सामग्री में संदर्भित नहीं पाता।

जवाबों:


9

WebGL विकि "के लिए अपने पूछे जाने वाले प्रश्न पदानुक्रम में एक अनुभाग निहित WebGL और ओपन मतभेद " जो बहुत ब्यौरा नहीं है "डेस्कटॉप" ओपन कार्यान्वयन और, अफसोस, से WebGL में मतभेद पर ध्यान केंद्रित करने लगता है (ज्यादातर यह व्यवहार के बारे में, एपीआई नहीं) ।

यदि यह आपके लिए पर्याप्त विस्तार में नहीं जाता है, तो आपको ओपन वेब ES या OpenGL विनिर्देशों के साथ मैन्युअल रूप से नवीनतम WebGL ड्राफ्ट की तुलना करने की आवश्यकता हो सकती है ।


9

क्या आपने नवीनतम WebGL ड्राफ्ट की जाँच की है?

एक विरोधाभास के मामले में मसौदे के अनुसार, OpenGL ES 2.0 विनिर्देश अंतिम प्राधिकरण है।

अध्याय 6 OpenGL ES 2.0 से WebGL के अंतरों की रूपरेखा तैयार करता है।

http://www.khronos.org/registry/webgl/specs/latest/


आपके पास एक अच्छा उत्तर था, जिसे मैंने उतारा, लेकिन दूसरे उत्तर को स्वीकार कर लिया क्योंकि इसने अन्य संसाधनों की जाँच करने का संकेत दिया। आपकी सहायता के लिए धन्यवाद।
क्रिस स्मिथ

1

OpenGL / WebGL / OpenGL ES के विभिन्न संस्करणों में जो विशिष्ट API उपलब्ध हैं, उनकी तुलना करने के लिए मुझे एक शानदार संसाधन मिला।

मुझे लगता है कि आप जो ढूंढ रहे हैं, वह आपको यहां मिलेगा: http://web.eecs.umich.edu/~sugih/courses/eecs487/common/notes/APITables.xml


0

इसे देखने का एक तरीका है WebGL, OpenGL ES 2.0 और OpenGL ES 2.0, OpenGL के साथ सभी विरासत को हटा दिया गया है।

चूंकि shaders सभी लीगेसी तय समारोह पाइपलाइन जोड़ा गया था glPushMatrix, glLight, glVertexआदि सभी कोई मतलब नहीं बनाया चारों ओर रहते हैं।

तो क्या वे "गायब" विशेषताएं हैं या सही और ठीक से "पदावनत" विशेषताएं हैं?

आप किन विशिष्ट विशेषताओं की तलाश कर रहे हैं?

WebGL / OpenGL ES 2.0 बेसिक वर्टेक्स और टुकड़ा शेड्स है। गैर-शक्ति-की -२ बनावटों के लिए सीमित समर्थन है और केवल कुछ बनावट प्रारूप हैं (वास्तव में सीमा की बहुत अधिक मात्रा ९९% आरजीबी A या आरजीबी 8 नहीं है)। फ़्लोटिंग पॉइंट टेक्सचर का समर्थन वैकल्पिक है, लेकिन अधिकांश उपकरण उनका समर्थन करते हैं। फ़्लोटिंग पॉइंट टेक्सचर के प्रतिपादन के लिए समर्थन हालांकि दुर्लभ है। यदि कोई मोबाइल डिवाइस फ्लोटिंग पॉइंट टेक्सचर को रेंडर करने का समर्थन करता है।

WebGL2 (सिर्फ शिप किया गया) और OpenGL ES 3.0 ने पूर्णांक बनावट और 3 डी बनावट सहित नए बनावट स्वरूपों का एक टन जोड़ा। इसने गैर-पावर ऑफ -2 बनावट सीमाओं को हटा दिया। इसमें ट्रांसफ़ॉर्मेशन फीडबैक (एक बफर में लिखने के लिए वर्टेक्स शेडर की क्षमता) को जोड़ा गया। इसमें रोड़ा प्रश्नों को भी जोड़ा गया। वर्टेक्स ऐरे ऑब्जेक्ट्स मानक हैं (वे WebGL / ES 3.0 में वैकल्पिक थे)। अन्य छोटी सुविधाओं का एक समूह है।

ES 3.1 (और शायद WebGL का अगला संस्करण) कंप्यूट शेड्स (एक खंड shader के लिए यादृच्छिक अभिगम लिखने की क्षमता) को जोड़ता है। फ्रेग्मेंट शेड्स केवल उस समय उनके द्वारा मांगे जा रहे टुकड़े / पिक्सेल पर लिख सकते हैं, जबकि शेड्स की गणना करें और कहीं भी वे चाहें, लिख सकते हैं।

आप किन अन्य सुविधाओं का उपयोग करना चाहते थे?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.