現在我的困惱dx9? dx10?

大部分簡單的3D特效都寫得差不多了, 接下來的就是比較困難(非常困難)

再來 dx9的功能對我也不夠使用了.

dx9說穿了  只要把render target 弄熟, 就差不多了.

目前的3D卡有個很大的致命傷.

在 shader code 可以輸入很多資料, 材質 頂點 外部的變數,

但是:輸出 一律只能輸出到 render taget. 理論上 是夠了, 但是十分缺少彈性.

dx10提供的功能:

1.Geometry Shader: 最常用來做particle, 但應該不只這些應用.

dx9就是 vertex shader-->然後pixel  shader, 但是 你輸入的有三角形資訊,
就是你是劃三角形, 那怎麼  shader code 裡面都沒有三角形的資訊?

所以: Geometry Shader 就是被公開了.

2.Stream Output: 可以不需要經過 pixel shader, 就可直接把頂點運算過的資料輸出.
這是之前 談到的 輸出的彈性.

3.SV_VertexID: dx10增加蠻多這種東西. 這就是一開始 vertex buffer, index buffer
你自己輸入的資料, 現在也公開 在 shader code可以使用

4. texture array: 彈性.

5.dx9無法將 zbuffer texture在pixel shader 裡面存取, dx10可以了.

===============

即使這些 對我也不是那麼夠.

輸出 沒有辦法指定位置: 就是指定在 render target 的位置.
輸出沒有: 3D座標, 無法voxel.

=====
要移植到dx10, 要多花時間, 又只綁 win7, 雖然ubisoft 已經是dx10了.
也代表 要跟這類的軟體 直接競爭.

也想直接跳到dx11, 可能明年底, 這樣dx10就沒用了. 浪費移植.


=====
結論不打算移值dx10, 但是找一些不需要dx10的特效. 但是還是要看dx10.
因為dx10跟 dx11差距較小.


1 則留言:

  1. 參考看看 Steam 的作業系統市佔統計吧
    http://store.steampowered.com/hwsurvey/

    我覺得 Win7 已經可以作為基本底線了,直接上 DX11 吧。

    回覆刪除