gamebryo--如何應用shader

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會幫你完成了。具體沒看那麼細可能以後看完了回來補充

發佈了43 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章