gamebryo的shader幾乎支持所有已知類型。前面一篇已經說過了。這裏說下他的流程:
首先對於一種shader方式要先 new 一個NiDefaultClickRenderStep可以設置爲不激活NiDefaultClickRenderStep::SetActive();
然後根據shader的作用把step加入到NiFrame.比如你是後期效果那麼就要加入到隊列的後面
m_spFrame->AppendRenderStep.
如果是運行時局部的shader那麼就加入到隊列前段
m_spFrame->PrependRenderStep
在初始化的時候按照爲你的shader程序設置全局變量或者局部變量
NiShaderFactory::UpdateGlobalShaderConstant("LightDiffuse", sizeof(afLightDiffuse), &afLightDiffuse)
其他的gb會幫你完成了。具體沒看那麼細可能以後看完了回來補充