Saya baru-baru ini mencoba menulis beberapa kode shader GLSL dan tidak terlalu beruntung ketika shader tidak menggambarkan apa yang saya harapkan (pada dasarnya, semuanya berwarna hitam di layar). Berikut alat yang saya coba:
Integrasi Nvidia NSight VS - Langsung crash saat saya memulai aplikasi, coba pasangkan aplikasi lain bahkan dengan gambar segitiga sederhana dan masih belum berhasil. Cari melalui internet dan forum Nvidia dan tampaknya ini adalah masalah umum, dan sepertinya tidak menemukan solusi apa pun.
glslDevil - Ini dapat memulai aplikasi tetapi kemudian program terus keluar sebelum rendering terjadi, GL Trace adalah
wglMakeCurrent(0, 0) wglDeleteContext(00010000) ChildProcess exited
Dapatkan kerusakan lain saat menjalankan aplikasi lain setelah memanggil glDeleteTexture(1, 0314EF74) Proses anak keluar
Saya tidak tahu apa yang sedang terjadi.
AMD PerfStudio 2 - Tampaknya ini adalah alat yang paling menjanjikan, berhasil menjalankan aplikasi saya dan menampilkan informasi yang diperlukan. Namun, sepertinya tidak mendukung debugging GLSL, saya tidak dapat menelusuri shader dan melihat variabel lokal, dll? Tampaknya hanya mendukung shader DirextX
gDebugger - Alat ini bekerja dengan cukup baik, mirip dengan AMD PerfStudio, tetapi sekali lagi ini bukan debugger, tidak dapat menelusuri kode shader dan mengamati variabel lokal apa pun.
Cetakan - ?? Seseorang di stack overflow mengatakan menggunakan printf, bagaimana saya bisa melakukan printf() di shader?
Konversikan DirectX shader ke GLSL - Karena DirectX shader memiliki alat debugging yang lebih baik, dan ada alat seperti http://sourceforge.net/projects/hlsl2glsl/ untuk otomatis mengubah hlsl ke glsl, sepertinya bisa jadi alternatif. Saya pribadi tidak menyukai solusi ini, dan sangat berharap saya punya pilihan lain.
Adakah yang bisa menyarankan cara Anda men-debug GLSL Anda? Alat apa yang berhasil Anda gunakan?
Saya sedang menjalankan:
- NVidia GFX 460v2
- Visual Studio 2008 dan 2010
- BERCAHAYA
- OpenGL 2.0
ARB_debug_output
? - person genpfault   schedule 24.05.2014