मैं शेडर प्रोग्राम कैसे डिबग कर सकता हूं?


18

मैं GLSL वर्टेक्स शेड्स डीबग करने की प्रक्रिया में हूं और मैं यह महसूस नहीं कर सकता कि मैं इसे गलत कर रहा हूं।

सामान्य तौर पर मेरे पास अनुरेखण की कमी के लिए दो रणनीतियाँ हैं

  • मैं एक डीबग रंग में मूल्यों को अलग करता हूं जो कि मैं टुकड़े करने वाले के पास जाता हूं और फिर रंगों की व्याख्या करने की कोशिश करता हूं।
  • मैं वर्टेक्स शेडर कोड को बदलता हूं और देखता हूं कि क्या होता है।

मैं सोच रहा हूं कि आदर्श रूप से मैं किसी बनावट को मान लिखकर ट्रेसिंग की कमी के लिए बना सकता हूं, जीपीयू से बनावट को पढ़ना और बनावट में भरे हुए मूल्यों को मुद्रित करना।

मेरा अनुमान है कि बेहतर तरीके हो सकते हैं। कोई सुझाव?

जवाबों:


3

मेरे एक मित्र ने इसके लिए glslDevil का उपयोग किया है , और कहा कि यह ठीक है।

यदि आप GLSL से बंधे नहीं हैं, तो Microsoft के पास PIX नामक DirectX के लिए एक अविश्वसनीय उपकरण है , लेकिन मुझे नहीं लगता कि OpenGL के लिए कुछ भी समान है।


मैंने glslDevil डाउनलोड किया है, लेकिन मुझे काम करने के लिए अधिकांश सुविधाएँ नहीं मिल सकती हैं। अनुरेखण काम करता है, और shaders के माध्यम से कदम लेकिन मैं चर के मूल्यों को नहीं देख सकता।
जोनाथन Fischoff

2

nVidia में एक भयानक shader डीबगर है। आप इसे पा सकते हैं, और इसके चश्मे, यहां

अपडेट २०१६: एक विजुअल स्टूडियो प्लगइन भी है, जो डेवलपर्स की मदद करने में उनका सबसे नया प्रयास है, यहाँ: https://developer.nvidia.com/nvidia-nsight-visual-studio-edition


टाइपो: इसके चश्मे
o0 '।

धन्यवाद। =) मुझे समय का सही 70% मिलता है। मैं DainBramage को दोष देता हूं।
नैलर

हालांकि, कोई GLSL का समर्थन नहीं :(, लेकिन ऐसा लगता है कि मैं cg shaders को अपने आप glsl में बदल सकता हूं, यह कोशिश कर सकता है।
जोनाथन Fischoff

आप इसके बारे में सही हैं, लेकिन मुझे लगता है कि फायदे नुकसान को मात देते हैं। इसके अलावा, FX संगीतकार एक सुंदर निफ्टी ऐप है।
नेलर

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