DX10中一個很重要的新功能,就是增加了所謂的Resource View,藉由 Resource View,你可以不再限制於1D Texture, 2D Texture, Vertex Buffer, Index Buffer或是Cube Texture,所有的這些都可視為Resource的一種,只要藉由Resource View就可以在各種資源之間做轉換,所以程式的寫法也更有彈性了。
本來相當期待使用Resource View來做一些新的嘗試的,結果今天看到了June DX SDK,實在十分失望。根據最新的SDK說明,首先是Constant Buffer無法跟其他任何一種資源做轉換,這代表著你無法將貼圖轉換為constant buffer,也無法stream out資料到constant buffer。再來是關於Vertex Buffer以及Index Buffer的限制,這兩個Buffer都無法跟貼圖資源做轉換,所以將貼圖當作Vertex Buffer以及Index Buffer的期待也落空了。
我相信當初微軟規劃Resource View的原因,就是希望能在shader resource的使用上能有更多的彈性,而上面的這些轉換,應該也在當初的規劃中,只是可能因為不知什麼原因,現在必須關閉某些的可能性。不過關閉了這 部分功能後,DX10就失去了很大一部分的彈性,實在是蠻令人失望的。
-