這是我參與8月更文挑戰的第12天,活動詳情查看: 8月更文挑戰編程
調試 GLSL 着色器代碼是出了名的困難。與 C++ 或 Java 等典型語言的編程不一樣,着色程序在哪裏失敗每每是不明確的。一般,一個着色器錯誤表現爲一個空白屏幕,不提供任何關於錯誤本質的線索。更使人沮喪的是,沒有辦法在運行時打印出着色器變量的值,就像人們一般在跟蹤一個難以捉摸的 bug 時所作的那樣。 缺少顯示着色器變量的簡單能力是一個嚴重的障礙,因爲這個緣由,顯卡製造商有時在硬件中提供在運行時從着色器中提取信息的功能,並以圖形調試器的形式構建了訪問信息的工具。每一個製造商的調試工具只能在該製造商的顯卡存在的狀況下工做。NVIDIA 的圖形調試器是一個更大的工具套件 Nsight 的一部分, AMD 也有一個相似的工具套件叫作 CodeXL 。安全
Nsight 是一套 NVIDIA 的工具,它包含一個圖形調試器,當程序運行時,它能夠查看 OpenGL 圖形管道的各個階段,包括着色器。不須要更改或添加任何代碼。只需在啓用 Nsight 的狀況下運行現有程序。Nsight 容許在運行時檢查着色器,好比查看着色器的統一變量的當前內容。有些版本甚至容許在運行時更改着色器代碼。markdown
有適用於 Windows 和 Linux/MacOS 的 Nsight 版本,能夠與微軟的 Visual Studio (VS) 和 Eclipse IDE 交互。咱們只討論 Windows 和 Visual Studio 。框架
Nsight 只能與 NVIDIA 顯卡兼容;它不適用於英特爾或 AMD 顯卡。完整的支持卡列表可在 NVIDIA 網站查詢工具
Nsight 正在迅速變化,Nsight 可能會有更多使人興奮的變化和發展oop
有多種方法能夠設置 Nsight 並將其整合到 Visual Studio 中。根據你安裝的版本,Nsight 菜單將被添加到最頂部的 VS 菜單或做爲 「擴展」 菜單的子菜單。咱們安裝 Nsight 的方式以下:post
1. 安裝 NVIDIA Nsight Graphics,網址爲 developer.nvidia.com/nsight-grap… 咱們安裝了2020.4版本。網站
2. 在 Visual Studio 中,使用 Extensions►Manage Extensions 來搜索和安裝 Nsight 集成。「Nsight」 菜單應該出如今頂部菜單欄或擴展項下的子菜單。spa
有關如何最大限度地利用 Nsight 工具的詳細信息,請參閱 Nsight 文檔。3d