可編程管線
① 可編程渲染管線比固定管線的優勢在哪有什麼應用
固定渲染管線就是只可配置(configurable)的管線,實現不同效果就好像在電路中打開不同的開關,例如texture stage的設置就是最復雜的部分,而stage數量非常有限(Direct3D 9隻有8個),想做各種效果及它們的組合,就像是一個智力游戲般。
可編程渲染管線把很多部分從可配置改為可編程(programmable),各種效果及他們的組合可以通過一般編程的方式實現,自由度高得多,而且不需那麼傷腦筋。最通常的應用就是自行實現光照和材質,可用上各種光照和反射模型,也可把一些運算放在頂點上算,一些運算放在像素上算。
性能差異基本上不用考慮了,新的API甚至乎已淘汰固定渲染管線(如OpenGL 3.0+、Direct3D 10+、OpenGL ES 2+、WebGL),而較新的硬體要支持固定渲染管線應該也都是驅動用可編程管線模擬出來的。
總之,現在基本上不需要學習固定管線了。
② 有哪位OpenGL大神講解下,固定管線和可編程管線到底有什麼區別
比如說啊,opengl-es 1.1 就是固定管線.. 而gles2.0就是可編程.
固定管線的固定是相對的. 比如你一個模型肯定是由頂點構成.每個頂線裡面有空間位置/法線/顏色/UV貼圖位置0/UV貼圖位置1 等等等很多項目組成.而固定管線就是他已經定好了這些名堂,你只要按對應的名字,把數據傳進去就好了.
而可編程管線就很靈活.你傳入的數據只有shader知道是干什麼用的, 而你的shader代碼可以任意發揮. 比如每個頂點4個數字, x,y,z,w 然後你shader里 把 y,z 當做UV來使用, 然後把 w,y,z當法線來用, 這都是可以的. 任意組合,隨意發揮.
③ 如何區分可編程渲染流水線與固定渲染流水線
1.固定渲染管線與可編程渲染管線的區別:
1)、固定渲染管線
——這是標準的幾何&光照(T&L)管線,功能是固定的,它控制著世界、視、投影變換及固定光照控制和紋理混合。T&L管線可以被渲染狀態控制,矩陣,光照和採制參數。
2)、頂點著色器——圖形開發人員可以對渲染管線中的頂點運算和像素運算分別進行編程處理了,而無須象以前那樣套用一些固定函數,取代設置參數來控制管線,最早出現與DX8,包括PS和VS兩部分。
④ 固定管線是不是指的shader出現以前的顯卡渲染,可編程管線指的就是編寫shader
一般的,ogre是使用固定渲染管線,嵌入可編程管線,可藉助GPU,提供更多更豐富的效果