一.可编程渲染管线
在GPU进行3D模型投射到2D平面过程中,渲染管线算法对开发者开放,目前支持的编程语言有OpenGL的ARB语言(pp文件),Direct3D的HLSL高级shader编程语言(fx文件).
Direct3D提供一下API实现程序加载shader着色器文件:
D3DXCreateEffectFromFile(gDevice,"fxfname.fx",NULL,NULL,0,NULL,&anEffect,NULL)
二.骑砍引擎中的shader文件
<1.pp文件(OpenGL-ARB编程语言)
根目录下的bump_shader.pp,faceshader.pp,myshader.pp即为shader文件,通过在OpenBrf中的shader着色器中technique中标识使用该shader.
<2.fx/fxo文件(Direct3D-HLSL编程语言)
根目录下的earlyz.fxo,mb_2a.fxo,mb_2b.fxo,postFX.fx即为HLSLshader文件,通过在OpenBrf中的shader着色器中technique中标识使用该shader.
三.自定义shader并使用OpenBrf打开
<1.在mb_warband_shader项目中修改mb.fx中添加自定义着色器技术:
<2.运行compile_fx.bat生成mb_2a.fxo和mb_2b.fxo文件,根据显卡情况将其中一个文件重命名为mb.fx放置到自己MOD中
<3.OpenBrf中创建新的shader并将technique设置为新的着色器:
<4.OpenBrf中预览shader使用情况,修改OpenBrf工具中customPreviewShaders.xml: