मेरे पास एक ओपनजीएल एप्लीकेशन है जो एक डीएक्सएफ लोड करता है और स्क्रीन पर इसे खींचता है, प्रत्येक बार मुझे मानक की गणना करने की आवश्यकता होती है। क्या सीपीयू के बजाय जीपीयू में मानदंडों की गणना करने का कोई तरीका है? यदि हां, तो कैसे ?क्या मैं जीपीयू में मानक की गणना कर सकता हूं?
उत्तर
हां, यह संभव है। आप Cg में शेडर्स के बारे में जानना चाहेंगे।
glEnable(GL_AUTO_NORMAL)
पर एक नज़र डालें।
आप ज्यामिति शेडर के भीतर से "फ्लैट-छायांकित" (एक सामान्य प्रति चेहरा) मानदंडों की गणना कर सकते हैं। प्रत्येक त्रिकोण के लिए, "फ्लाई पर", क्रॉस-प्रोडक्ट्स का उपयोग करके। आप इस तरह से "चिकनी" मानक उत्पन्न नहीं कर सकते हैं, क्योंकि जीएस पड़ोसियों के बारे में जानकारी नहीं है।
यदि जाल पैरामीट्रिक (कहें, मेटाबॉल्स) है, तो सामान्य के पास कुछ पास के फ़ंक्शन मानों का नमूनाकरण करके गणना की जा सकती है। यह जीपीयू पर भी किया जा सकता है।
यदि जाल ऊंचाई या कुछ समान पर आधारित है तो आप शेडर में मानकों की गणना भी कर सकते हैं।
यदि जीपीयू सीयूडीए, ओपनसीएल या कुछ समान का समर्थन करता है, और यदि यह डेटा के मनमानी सरणी को संसाधित कर सकता है, तो आप परंपरागत टेक्निक्स का उपयोग करके जीपीयू पर मानक भी गणना कर सकते हैं।
इसके अलावा, मुझे लगता है कि 5 साल पहले (या तो) मैंने "जीपीयू पर सामान्य चिकनाई" या "जीपीयू पर सामान्य पीढ़ी" जैसे कुछ पेपर को देखा था। यह पहले पृष्ठ पर एक फ्लैट छायांकित प्रतिबिंबित बहुभुज दिल था। दुर्भाग्यवश, मैं उस पेपर का पता नहीं लगा सकता, और मुझे बिल्कुल यकीन नहीं है कि यह अस्तित्व में है (या जहां मैंने इसे देखा)। आप जीडीसी पेपर, सिगोग्राफ पेपर, अति एसडीके या एनवीडिया एसडीके में इसे ढूंढ सकते हैं (यदि यह मौजूद है)।
आपको शेडर्स का उपयोग करना होगा।
आप एक जीएलएसएल ज्यामिति शेडर का उपयोग कर सकते हैं। चेहरा मानक के लिए जीएलएसएल संस्करण यहां दिया गया है। वर्टिसेस मानदंडों को अधिक काम की आवश्यकता होती है क्योंकि उन्हें पड़ोसी शोर को खाते में लेना पड़ता है।
- सुनिश्चित करें कि आपका ग्राफिक कार्ड ज्यामिति शेडर्स का समर्थन करता है! उदाहरण के लिए जीपीयू कैप्स व्यूअर का प्रयोग करें।
- अपने ऐप में एक ज्यामिति शेडर को शामिल करने के लिए किसी भी ट्यूटोरियल को काटें और पेस्ट करें।
- शेडर इस तरह दिखना चाहिए:
//glsl shader
#version 120
#extension GL_EXT_geometry_shader4 : enable
void main(void)
{
// Compute per-face normal
vec4 d1 = gl_PositionIn[1] - gl_PositionIn[0];
vec4 d2 = gl_PositionIn[2] - gl_PositionIn[0];
gl_Normal = cross(d1,d2);
// Emit all input vertices
for(i=0; i< gl_VerticesIn; i++){
gl_Position = gl_PositionIn[i];
EmitVertex();
}
EndPrimitive();
}
- 1. मैं जीपीयू लोड कैसे पढ़ सकता हूं?
- 2. मैं कार्टेशियन उत्पाद की गणना कैसे कर सकता हूं?
- 3. मल्टी-जीपीयू क्यूडा गणना
- 4. मैं मानक मोड में वीएमएल कैसे काम कर सकता हूं?
- 5. जीपीयू साझा स्मृति आकार बहुत छोटा है - मैं इसके बारे में क्या कर सकता हूं?
- 6. क्या मैं सी में संकलन-समय पर पाउ (10, x) की गणना कर सकता हूं?
- 7. क्या मैं पाइथन में एक्स (1 + 2j) की गणना कर सकता हूं?
- 8. क्या मैं SQLite में गणना कॉलम बना सकता हूं?
- 9. क्या मैं SharePoint में COUNTIF गणना कॉलम बना सकता हूं?
- 10. क्या मैं जेएसओएन में आरएसएस की सेवा कर सकता हूं?
- 11. मैं जावा में दो जीपीएस अंकों के बीच की दूरी की गणना कैसे कर सकता हूं?
- 12. मैं एक emacs तालिका में नींद की अवधि की गणना कैसे कर सकता हूं?
- 13. क्या मैं आर के साथ जेड-स्कोर की गणना कर सकता हूं?
- 14. क्या मैं इन संख्याओं के औसत की गणना कर सकता हूं?
- 15. मैं Django में सभी विचारों से एक मानक, स्थैतिक चर कैसे पारित कर सकता हूं?
- 16. जीपीयू
- 17. मैं अजगर में एडब्ल्यूएस एपीआई हस्ताक्षर (v4) की गणना कैसे कर सकता हूं?
- 18. मैं पॉलीहेड्रॉन की जड़ता के द्रव्यमान और पल की गणना कैसे कर सकता हूं?
- 19. मैं आर में एक समोच्च के भीतर क्षेत्र की गणना कैसे कर सकता हूं?
- 20. मैं पाइब्रेन में तंत्रिका नेटवर्क के प्रशिक्षण की गणना या निगरानी कैसे कर सकता हूं?
- 21. मैं किसी अन्य उपयोगकर्ता सत्र की खुली विंडो (~ EnumWindows) की गणना कैसे कर सकता हूं
- 22. मैं किसी दिए गए दिनांक की सप्ताह-संख्या की गणना कैसे/कर सकता हूं?
- 23. क्या मैं सीपी से कोड में परिवर्तन के बिना जीपीयू में कोर का उपयोग कर सकता हूं?
- 24. क्या मैं SQL डेवलपर में "गणना पंक्तियां" ऑपरेशन को बाधित कर सकता हूं?
- 25. क्या मैं वर्चुअलएन्ड्स घोंसला कर सकता हूं?
- 26. पर्ल में दो तिथियों के बीच की संख्या की गणना कैसे कर सकता हूं?
- 27. मैं ओपनलेयर-मानचित्र में मानक नियंत्रण कैसे हटा सकता हूं?
- 28. मैं जीएचसी में SpecConstr की मदद कैसे कर सकता हूं?
- 29. मैं पर्ल में एक फ़ाइल में मानक आउटपुट कैसे रीडायरेक्ट कर सकता हूं?
- 30. मैं पर्ल में सरणी की तुलना कैसे कर सकता हूं?
Normals, एक ज्यामिति शेडर में गणना की जानी चाहिए नहीं टुकड़ा। – ext