OpenGL着色器
OpenGL著色器
- OpenGL著色器簡介
- 源代碼剖析
- 主要源代碼
OpenGL著色器簡介
從本課開始,我們將學習的所有效果和技術都將通過著色器實現。著色器是創建 3D 圖形的現代方法。從某種意義上說,這是一個后退,因為大多數 3D 功能以前都表示為固定管道函數,并且要求開發人員僅指定配置參數(光參數、旋轉值等)。現在,這必須由程序員(通過著色器)實現,盡管這種方法提供了巨大的靈活性和創新的可能性。
頂點處理器負責對流經管道的每個頂點執行頂點著色器(其數量根據呈現調用中的設置確定)。頂點著色器不知道基元渲染拓撲。此外,您不能丟棄頂點處理器中的頂點。每個頂點在處理器中正好擊中 1 次,并進一步轉換并繼續移動。
下一步是幾何處理器。此時,它將完成原始(使用所需的頂點),并將相鄰的頂點傳遞到著色器。這允許您在頂點附近獲取更多信息。此外,幾何著色器還能夠修改在呈現調用中選擇的輸出拓撲。例如,您可以放置一個點列表,并從每個點創建 2 個三角形(即正方形)(一種稱為廣告牌的方法)。此外,您可以為每個幾何著色器調用分配多個頂點,從而根據您選擇的拓撲創建多個基元。
管道中的下一步是快船。這是一個具有明確任務的固定函數 - 它裁剪了我們在上一課中看到的窗口中的原始值。它還在 Z 軸的近坐標和遠坐標上進行裁剪。您可以設置自己的快船。剪切器后幸存的頂點位置現在根據其拓撲顯示在屏幕上。例如,對于三角形
總結
- 上一篇: 先息后本和等额本息的区别
- 下一篇: 信托产品的分类