之后的一段时间准备学习一下DirectX和Shader相关的文章.
为了能够运行Shader,得先写个小程序.这里我选择了DirectX(其实我个人觉得,如果只是想学习Shader的话,XNA是个不错的选择)
看了几天的文档,重点看了一下DirectX Sample里面的Basic HLSL,可能是微软为了把一些控件集成进去,方便大家观察效果的原因吧,微软使用了DXUT这个框架,对我等c++和windows编程的初学者来说特别的不爽,所以我决定脱离DXUT框架来写一下
首先打开Sample里面的D3DX9 Create Device.我们就往这个程序里面添加代码.
1. 我们添加一个LoadMesh函数: 导入.X文件
}
2.我们添加OnCreateDevice函数,在显卡初始化完成后,可以进行一些处理操作:
}
3.我们开始渲染:
}
4.完成程序退出后的释放操作:
}
5.修改wWinMain函数,使得中间一段看起来这样:
6.添加头文件和全局变量:
D3DXVECTOR3 g_vLightDir[MAX_LIGHTS];
D3DXCOLOR g_vLightDiffuse[MAX_LIGHTS];
7.将Tiny.X,Tiny_Skin.dds,BasicHLSL.fx放入项目的目录,并把BasicHLSL.fx添加进项目,就完成了我们第一个可以运行Shader的程序