我還真是什麼都略懂一點,大概可以當金城武了吧。
雖然我研究所念Image & Graphics出來的,不過工作跟這完全無關,都忘光了XD。
這篇是拿來恢復信心用的。
這篇不是專業教學文,不會告訴你整個Graphics Pipeline的流程。請自行上網搜尋解答。
這篇說的指是冰山一角,整個Pipeline的中間地帶Pixel Shader,主要負責上色和處理其他屬性。
而我們用來開發的環境,也不需要Visual Studio 或 DirectX SDK,我們只需要一個軟體。
Media Player Classic 你沒看錯,就是播放軟體,我以中文版作為示範,開發一個Shader來玩玩。
要寫Shader,第一個要件就是你的顯卡至少要支援DirectX 9,至於Pixel Shader的演進史可以參照這裡。
接著我們需要把MPC當中的Shader功能打開,功能表檢視->選項->播放->輸出的畫面如下所示︰
在選項中,需要將所有VMR9、DirectX 9、 使用3d 文字表面和成像視訊圈選起來。按確定進行下一步動作。
接著同樣在檢視->Shader編輯下,開始我們的Shader之旅。
底下部份是讓你寫程式碼的,當你寫好之後,在右上方選擇Shader適用版本,然後左上方命名你要命名的Shader Name,一旦命名完按下Enter,此時就會幫你Compile程式碼,一旦成功了會出現D3DXCompileShader succeeded的字樣。
在此我們寫一個OnlyRed的例子︰
sampler s0 : register(s0);
float4 main(float2 tex : TEXCOORD0) : COLOR
{
float4 color = tex2D(s0, tex);
return float4(color.r, 0, 0, 1);
}
接著播放影片,在播放->Shaders裡挑選剛剛編譯過的程式碼。
以下為程式執行結果︰
感謝東方不敗擔任男主角。
沒有留言:
張貼留言