程式錯誤(英語:Bug),是程式設計術語,是指軟體執行時因程式本身有錯誤而造成功能不正常、當機、資料遺失、非正常中斷等現象。有些程式錯誤會造成電腦安全隱患,此時叫漏洞。
一些有趣的錯誤有時也會成為一種樂趣。在電腦遊戲中,假如一些錯誤不令遊戲出現大錯誤的話,經常會變成一種玩遊戲時的秘技(秘技有時是遊戲設計者故意加入,用於檢查程式設計,繞過不需要的步驟直接檢驗需要的地方時所使用的代碼)。
有嚴重後果的錯誤會受到廣泛關注。修補、改正軟體程式錯誤的過程稱為除錯。
在程序設計和計算機圖形學領域,細節層次(Level of detail)隨著物體或者模型遠離觀察者而逐步降低。
由於它能夠通過減少多邊形的數目從而提升渲染效率,所以在計算機與視頻遊戲中使用了這項技術。由於物體距離很遠,所以理論上並不會察覺到模型或者物體的視覺質量會有所下降。當然,這根據單個系統或者遊戲的不同而有所不同。
Messiah 與 Black & White 是首先將細節層次效果用於渲染的遊戲。每張地圖由一個大島組成,有時還有數以百計的居民。
當玩家將場景縮小的時候,逐步降低細節的模型就取代了村民、建築物甚至是島嶼。儘管這種做法不盡完美,但是這項技術使得在近距觀察時能夠看到細節,而在遠距離觀察的時候而不會降低運行速度。
Messiah 使用一種類似的技術,並且它的發布早於 Black & White。
Halo 2 使用細節層次調整實現 cutscene 以及地圖中更高的細節層次,但是犧牲了首次調用這個細節層次時的速度,最初顯示的模型細節層次很少甚至沒有細節層次,過了一段時間才會出現更加細緻的模型及紋理。
為了使得細節降低不再明顯,在計算機與視頻遊戲中經常使用距離模糊減少物體上的可見細節來模擬現實中的物體遠離時的模糊現象。當物體處於可見範圍之外的時候,將不再需要進行渲染。
在自動細節層次構建中最常用的一種方法是基於三維多邊形網格的邊緣摺疊變換。三維網格中的每一對頂點都根據曲率或者其它準則給定一個誤差度量權重,具有最小誤差的一對頂點合併或者摺疊到同一個頂點。重複這個過程直到達到所期望的三角形數目。
其它一些更加先進的方法帶有生成預先計算的邊緣摺疊或者頂點分割數值的列表,這樣的列表可以用於物體細節層次的實時計算。這種方法經常稱為漸進網格。
更加先進的細節層次運行系統使用的算法為了增加衰減能夠合併幾個三維物體或者簡化合併的物體,這樣的算法叫作分級細節層次算法。