2011-10-17 12 views
28

मूल 3 डी वेब अनुप्रयोग के लिए यानी 3 डी स्पेस में कुछ क्यूब, रोटेशन और अनुवाद - जो चुनना बेहतर है?कैनवास बनाम वेबजीएल बनाम सीएसएस 3 डी -> कौन सा चयन करना है?

सीएसएस 3 डी सबसे आसान लगता है, लेकिन IE9 या IE10 के लिए रोडमैप पर समर्थित नहीं है, और अन्य विकल्पों की तुलना में कम नियंत्रण प्रदान करता है। कैनवास & वेबजीएल रास्ता अधिक जटिल लगता है, लेकिन मुझे नहीं पता कि वे भविष्य के सबूत हैं या नहीं।

3 डी के लिए इतनी सारी तकनीक क्यों हैं? कौनसा अच्छा है? भविष्य का सबूत कौन सा है?

+3

नहीं एक js डेवलपर मदद करता है, लेकिन मैं का उपयोग किया है [Three.js] (https://github.com/mrdoob/three.js) आसानी से और यह कई दाता है (WebGL, एसवीजी और कैनवास)। मैंने कैनवास रेंडरर के साथ खेला और यह कुछ समय पहले बहुत सारे ब्राउज़रों पर काम करता है और बनावट का उपयोग करते समय मुझे याद रखने वाला एकमात्र मुद्दा गति था (क्योंकि कैनवास रेंडरर मूल रूप से सभी गणित करता है और केवल सीपीयू पर प्रतिपादन करता है) इसलिए मैंने ज्यादातर रंगों का उपयोग किया । इसके अलावा, मेरे परीक्षण आईओएस और एंड्रॉइड पर चलाए गए, लेकिन जटिल मॉडल के लिए धीमे। बेसिक/लो-पॉली मॉडल मोबाइल पर भी कैनवास के साथ कुछ हद तक सभ्य काम करते हैं। मेरे पुराने उदाहरण देखें [यहां] (http://bit.ly/fOLOgM) एचटीएच –

+9

यह पागल है ना? चक नॉरिस सिर्फ divs का उपयोग करता है: http://www.uselesspickles.com/triangles/ – joeytwiddle

+0

बीटीडब्ल्यू, अब तक आप वेबजीएल का उपयोग करते हैं, आपको अनिवार्य रूप से कैनवास की आवश्यकता है। वेबजीएल कैनवास से अलग है केवल इस अर्थ में कि आपको एक वेबजीएल संदर्भ मिलता है। वेबजीएल - 'document.getElementById ('कैनवास-तत्व')। GetContext (" webgl ");' .. सामान्य 2 डी कैनवास 'document.getElementById ('कैनवास-तत्व')। GetContext (" 2d "); // यदि आप "3 डी" में बदलते हैं, तो आपके पास अभी भी 3 डी रेखांकन हो सकते हैं, w/o WebGL' –

उत्तर

18

कारण 3 डी के लिए कई अलग-अलग विकल्प हैं क्योंकि पूरी बात अभी भी प्रवाह की स्थिति में है - ब्राउज़र में 3 डी एक पूर्ण मानक नहीं है, और आपके द्वारा सूचीबद्ध विकल्पों में से केवल एक ही है वर्तमान में उपलब्ध सभी ब्राउज़रों में काम करता है कैनवास।

आईई विशेष रूप से आपको बहुत खुशी देने की संभावना नहीं है - जैसा कि आप कहते हैं, इस बिंदु पर 3 डी आईई 10 के लिए भी स्लेटेड नहीं है। ऐसा कहकर, एसवीजी दिन में बहुत देर से आईई 9 में जोड़ा गया था, इसलिए हमेशा आशा है। लेकिन इसका कारण यह नहीं है कि माइक्रोसॉफ्ट ने केवल सहायक सुविधाओं का एक बिंदु बनाया है जिसे औपचारिक रूप से मानकों के रूप में अनुमोदित किया गया है।

आपके द्वारा सूचीबद्ध तकनीकों में से, कैनवास तक सबसे अच्छा समर्थित है, लेकिन कैनवास 3 डी तकनीक नहीं है; यह 2 डी कैनवास है, और यदि आप इसमें 3 डी प्रभाव रखना चाहते हैं, तो आपको उन्हें स्वयं लिखना होगा, और वे हार्डवेयर त्वरित नहीं होंगे।

मुझे लगता है कि आपके प्रश्न का वास्तविक उत्तर इस बात पर निर्भर करता है कि आपकी साइट के लिए सुविधा कितनी महत्वपूर्ण है। अगर यह सिर्फ आंख कैंडी है, तो असमर्थित ब्राउज़र के उपयोगकर्ता बिना रह सकते हैं, तो हर तरह से इसे कुछ 3 डी सीएसएस के साथ किया जाता है। लेकिन अगर आपको इसे सभी मौजूदा ब्राउज़रों में लगातार बनाने की ज़रूरत है, तो इसे कैनवास के साथ करें।

मैं आपके मामले के लिए वेबजीएल का उपयोग न करने की अनुशंसा करता हूं, क्योंकि ऐसा लगता है कि आप जो कर रहे हैं उसके लिए यह अधिक होगा।

3 डी सीएसएस शायद सही उत्तर है, लेकिन अभी तक कैनवास का उपयोग करें, जब तक कि शेष ब्राउज़र 3 डी सीएसएस के लिए समर्थन न जोड़ें।

+0

यह एक आंख कैंडी है, और यदि सभी ब्राउजर अब इसका समर्थन नहीं करते हैं, लेकिन किसी बिंदु पर तो यह मेरे लिए काफी अच्छा होगा, इसलिए CSS3 सबसे अच्छा लगता है। कैनवास के रूप में - यह बस इतना तेज़ नहीं है - अंतरिक्ष में कुछ cubes घूर्णन मेरे कंप्यूटर cringe 80% सीपीयू पर बना दिया।आपने एसवीजी का उल्लेख किया - तस्वीर में एसवीजी फिट कैसे है? उनमें से कौन सा मानक होने की संभावना है? –

+0

कैनवास और एसवीजी दोनों अच्छी तरह से स्थापित मानकों हैं। लेकिन कैनवास आप जो कर रहे हैं उसके लिए बेहतर है। इसके अलावा, एसवीजी को v3.0 तक एंड्रॉइड ब्राउज़र द्वारा समर्थित नहीं है, जो कि मौजूदा पीढ़ी के मोबाइल में समर्थन में एक बड़ा छेद बनाता है। मैं आपकी रिपोर्ट से हैरान हूं कि कैनवास कुछ घन घूर्णन के साथ संघर्ष करता है; मैंने इसकी पूरी रिपोर्ट पूरी तरह से एक पूर्ण 3 डी गेम इंजन चलाने के बारे में सुना है। सुनिश्चित करने के लिए जल्दी से नहीं, लेकिन मुझे उम्मीद है कि यह कुछ सरल क्यूब्स के साथ उचित रूप से अच्छी तरह से सामना करने के लिए होगा। लेकिन ब्राउज़र बदल सकते हैं। आपकी जरूरतों के आधार पर, कोर्स का दूसरा विकल्प सिर्फ 2 डी एनीमेशन के साथ नकली है। – Spudley

+0

वेबजीएल वास्तव में कैनवास का एक रूप नहीं है? लोग वेबजीएल बनाम कैनवास कहते हैं, लेकिन वेबजीएल * एक कैनवास है। यह भ्रमित करने वाला है। – johnbakers

7

मैं वास्तव में उस पर निर्भर करता हूं कि आप क्या करने की कोशिश कर रहे हैं। सरल कितना आसान है?

3 डी सीएसएस उपयोग करने योग्य नहीं है। यह सिर्फ इसे फ़ायरफ़ॉक्स में बना दिया गया है। यह फ़ायरफ़ॉक्स और क्रोम दोनों में छोटी गाड़ी है। यह ओएसएक्स पर एफएफ 9 बीटा में काम नहीं कर रहा है। इसे कम से कम 16 तक क्रोम में भी समस्याएं मिली हैं। http://greggman.com/downloads/examples/intersecting-elements-3d-css.html देखें और ओएसएक्स पर सफारी की तुलना किसी भी अन्य ब्राउज़र से करें।

तीन.जेएस (https://github.com/mrdoob/three.js/) (और शायद अभी भी करता है) कैनवास का उपयोग करके कुछ सरल 3 डी प्रदान करता है।

अन्यथा अगर आप कुछ भी दिलचस्प जाने WebGL चाहते हैं और एक पुस्तकालय (Three.js, SceneJS, आदि ..)

आप एक विकल्प बनाने के लिए मिल गया है लेने। वेबजीएल का प्रयोग करें और आईई छोड़ दें, फ्लैश 11 का प्रयोग करें, यूनिटी 3 डी का उपयोग करें, कैनवास का उपयोग करें और बहुत सीमित 3 डी प्राप्त करें, या 3 डी न करें।

वेबजीएल पहले से ही प्रमुख साइटों द्वारा उपयोग किया जा रहा है। सीएनएन अब वेबजीएल http://www.stinkdigital.com/en/work/ecosphere

+0

सीएनएन लिंक मृत प्रतीत होता है ... – andand

+1

@andand मुझे Ecosphere प्रोजेक्ट संग्रहित एक लिंक मिला और इसे अपडेट किया गया। – Brad

7

मुझे पता है कि यह 2 साल पुराना है, लेकिन मुझे लगता है कि मैं इसे भविष्य के पाठकों के लिए यहां पोस्ट करूंगा।

क्या चुनना है कि आपको क्या चाहिए इसकी पर निर्भर करता है।

क्या आपको कोई साधारण या 3 डी आकार की आवश्यकता नहीं है? कोशिश करें कि आप इसे CSS3 के साथ कर सकते हैं, यह अब तक का सबसे आसान है। आईई के लिए आप शायद एक पुस्तकालय प्राप्त कर सकते हैं जो समर्थन प्रदान करता है।

क्या आपको अच्छे ग्राफिक्स के साथ कुछ मीठे 3 डी मॉडल की आवश्यकता है और यह सभी प्रकार की चीज़ें कर सकता है? वेबजीएल जाओ, आप ब्राउज़र में 3 डी के लिए अधिक नियंत्रण और प्रदर्शन के लिए नहीं पूछ सकते हैं।

क्या आपको 3 डी आकार की आवश्यकता है जो सभी प्रकार की चीजें कर सकते हैं, लेकिन बनावट की आवश्यकता नहीं है और हर जगह काम करेंगे और अधिक प्रदर्शन की आवश्यकता नहीं होगी? जाओ कैनवास।

CSS3 सिर्फ आंख कैंडी के लिए है। आप इसे आसानी से बना सकते हैं, इसे किसी भी तरह से शैली दें और बहुत आसानी से बनाए रखा जा सके। एक बार जब आप सिर्फ आंखों की कैंडी से अधिक करना चाहते हैं, तो अपने दस्ताने डालें क्योंकि वह कुछ काम करने वाला है।

2 डी कैनवास के साथ आप 3 डी सामान बना सकते हैं। यदि आप इसके लिए नए हैं, तो यह बहुत परेशान और जटिल होगा (एक उदाहरण का नाम देने के लिए; आपको मैट्रिक्स के बारे में जानने की ज़रूरत है), आप 2 डी कैनवास के साथ कुछ भी कर सकते हैं जिसे आप वेबजीएल के साथ कर सकते हैं लेकिन कुछ चीज आसान होगी वेबजीएल में (गंभीरता से, यदि 2 डी कैनवास जा रहा है, तो बनावट का उपयोग करने की कोशिश न करें, यह एक दुःस्वप्न है)। वेबजीएल ओपनजीएल का उपयोग करता है, संक्षेप में, इसका मतलब है कि यह हमेशा 2 डी कैनवास से बेहतर प्रदर्शन करेगा।

हालांकि, वेबजीएल के लिए उपयोगकर्ता को एक संगत वीडियो कार्ड होना आवश्यक है।

4

हर कोई शायद 'यह निर्भर करता है' सुनने से थक गया है, लेकिन ... यह निर्भर करता है!

कैनवास या एचटीएमएल/CSS3 का उपयोग करना बेहतर है या नहीं, और इसलिए कैनवास पुराने मशीनों/उपकरणों पर डीओएम से धीमा है या नहीं। हाँ, कुछ मामलों में डोम तेजी से बढ़ रहा है, जबकि अधिकांश आधुनिक ब्राउज़रों/उपकरणों पर कैनवास तेज है।

वेबजीएल - 2 डी और 3 डी दोनों के लिए सर्वश्रेष्ठ विकल्प, लेकिन चूंकि यह ब्राउज़र और उपकरणों पर पर्याप्त रूप से पर्याप्त समर्थित नहीं है, इसलिए आपको जब भी आवश्यक हो कैनवास या डोम में फॉलबैक देना होगा।

कैनवास - 3 डी WebGL की तुलना के लिए कम उपयुक्त है, लेकिन संगतता, समुदाय, उपकरण आदि

डोम के लिए अधिक उपयुक्त -, तेजी से सबसे लगता है कि अगर सही इस्तेमाल किया, उच्चतम समर्थन के आसपास है, लेकिन आप भी फैंसी एनीमेशन नहीं जा सकते/जुआ खेलने के लिहाज से।

आशा इस

+0

मुझे लगता है कि IEG को छोड़कर अधिकांश ब्राउज़रों (मोबाइल सहित) में WebGL समर्थित है। यहां https://www.ichemlabs.com/1375 पढ़ें। – Lucky

+0

हां, उत्तर लगभग 1 साल पहले दिया गया था हालांकि। आजकल, वेबजीएल के लिए समर्थन बहुत अधिक है, हमारे लिए horraay :) – CatalinBerta