大约在一个多星期前开始写一个软渲染引擎,类似D3D的一个东西,只不过硬件处理的部分全部换成软件处理,对图形学有点了解的人应该都知道是个什么玩意。同样,这是个业余时间进行的项目,目的是为了总结一些以前学过的很基础的知识。我并没有打算给自己定一个很详细的计划去完成它,主要是不想把它变成一种任务,那样会很累(你有压力,我有压力,没事还是别再给自己增加什么负担了- -)。然后,这个东西并不会有一堆很炫的所谓次时代的效果,它所实现的是每个初学者都曾用d3d或者opengl所实现过的很普通的渲染技术,区别只在于渲染底层是我自己写的。个人认为,知其然,知其所以然的学习态度还是很重要的,已见过不少做过几年的游戏程序员对最基本的3D流水线处理过程还是朦朦胧胧糊糊涂涂的,我想,任何时候,只要有必要,我们都不应该害怕重造轮子,否则是难以进一步提升自己的。言归正传,对于这个渲染引擎,我目前所想到的有以下这些:
1、支持多光源,光源的类型包括点光源,平行光,聚光灯
2、支持多纹理,基于效率考虑只打算支持2~3层的纹理,纹理间的混合操作可以有多种
3.、支持Constant,Flat,Gouraud,Phong(仅限平行光)几种常见的着色模型
4、支持线性纹理滤波
5、支持alpha混合
6、支持雾效、景深
7、支持几种常见的模型格式的载入,目前有限度地支持.x格式
8、支持骨骼动画
9、支持文字渲染
10、支持简单的阴影效果
先这么多,上面写的这些不一定会全做,最后所实现的也不会局限于这些,进度会比较缓慢,新公司的项目比我预想的要忙得多,除去工作和一些所谓的私人事务花去的时间,我的空闲时间很少,另外,目前打算做好之后开源,但不会有文档,实在没有多余的精力和时间去搞那些了,抱歉
这个模型学过D3D的人应该都很眼熟:
线框模式:
posted on 2009-08-23 12:31
清風 阅读(3035)
评论(10) 编辑 收藏 引用 所属分类:
图形