pleaselouis 時常出沒的會員
註冊時間: 2008-11-03 文章: 32
505.97 果凍幣
|
發表於: 2009-8-17, AM 11:22 星期一 文章主題: 請問關於 Shader 的問題 |
|
|
大家好 目前小弟正在學習使用 Shader
目前知道如何載入 並實際使用fx檔案 的基礎用法 舉例如下 :
------
static D3DXHANDLE hTechnique;
static UINT totalPasses;
...
if (SUCCEEDED(g_pEffect->SetTechnique(hTechnique)))
{
if (SUCCEEDED(g_pEffect->Begin(&totalPasses, 0)))
{
for (UINT pass = 0; pass < totalPasses; ++pass)
{
if (SUCCEEDED(g_pEffect->BeginPass(pass)))
{
g_pDevice->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 12);
g_pEffect->EndPass();
}
}
g_pEffect->End();
}
}
------
如果想要執行 兩個以上的特效功能 我目前的認知是 在同一個 Technique 中
撰寫所需要兩個以上的 Pass 讓上述的程式碼去執行
但是如果我想要分成兩個以上的 Technique 來撰寫呢??
又或者是想分成兩個以上的 *.fx File 呢??
因為考量到 如果系統要同時使用大量的 Shader 就不能全寫再同一個fx檔中
難道是要用遞迴的方式 不斷執行 SetTechnique() BeginPass() 等載入動作??
小弟百思不得其解 因此前來請教 希望可以請版上的前輩 給小弟一些指導與建議
十分感謝 <(_ _)> |
|