ฉันจะดีบักโปรแกรม shader ได้อย่างไร


18

ฉันอยู่ระหว่างการแก้ไขข้อบกพร่องของจุดยอด GLSL และฉันไม่สามารถสั่นคลอนความรู้สึกที่ฉันทำผิด

โดยทั่วไปฉันมีสองกลยุทธ์ในการชดเชยการขาดการติดตาม

  • ฉันใส่ค่าลงในสีที่ดีบั๊กซึ่งแตกต่างกันที่ฉันส่งไปยังส่วนที่แตกแล้วลองตีความสี
  • ฉันเปลี่ยนรหัสจุดสุดยอดและดูว่าเกิดอะไรขึ้น

ฉันคิดว่าในอุดมคติฉันสามารถชดเชยการขาดการติดตามได้โดยการเขียนค่าลงบนพื้นผิวอย่างใดอย่างหนึ่งอ่านพื้นผิวจาก GPU และพิมพ์ค่าที่ยัดเข้าไปในพื้นผิว

ฉันเดาว่าอาจจะมีวิธีที่ดีกว่า ข้อเสนอแนะใด ๆ

คำตอบ:


3

เพื่อนของฉันใช้glslDevilในเรื่องนี้และบอกว่ามันโอเค

หากคุณไม่ได้เชื่อมโยงกับ GLSL Microsoft มีเครื่องมือที่น่าทึ่งสำหรับ DirectX ชื่อ PIXแต่ฉันไม่คิดว่ามีอะไรเทียบเท่ากับ OpenGL


ฉันดาวน์โหลด glslDevil แล้วแต่ฉันไม่สามารถใช้คุณสมบัติส่วนใหญ่ได้ การติดตามการทำงานและการก้าวผ่านเฉดสี แต่ฉันไม่เห็นค่าของตัวแปร
Jonathan Fischoff

2

nVidia มีตัวแก้ไขข้อบกพร่อง shader ที่ยอดเยี่ยม คุณสามารถค้นหาและรายละเอียดได้ที่นี่

อัปเดต 2559: ยังมีปลั๊กอิน Visual Studio ซึ่งส่วนใหญ่น่าจะเป็นความพยายามที่ใหม่กว่าในการช่วยเหลือนักพัฒนาที่นี่: https://developer.nvidia.com/nvidia-new-visual-studio-edition


typo: ของรายละเอียด
o0'

ขอบคุณ. =) ฉันได้รับสิทธิ์ 70% ของเวลา ฉันตำหนิ DainBramage
Nailer

แม้ว่าจะไม่มีการสนับสนุน GLSL :( แต่ดูเหมือนว่าฉันสามารถแปลง cg shaders เป็น glsl ได้โดยอัตโนมัติอาจลองทำดูก็ได้
Jonathan Fischoff

คุณพูดถูก แต่ฉันคิดว่าข้อดีเหนือกว่าข้อเสีย นอกจากนี้นักแต่งเพลง FX เป็นแอพที่สวยดี
Nailer

Broken link ....
UpTheCreek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.