光照:
再次修改了公式,把镜面反射的点积值也映射到了0~1的范围内,这样就不会再出现有一团黑的情况了:I = Ia * Ka + Id * Kd * (L dot N + 1.0) * 0.5 + Is * Ks * pow((R dot V + 1.0) * 0.5,n),另外加上了之前一直没加的聚光灯光源,基于顶点的光照强度计算,效果不是很好。。目前场景中有三种类型的光源:点光源、平行光、聚光灯
文字渲染:
采用了trueType字体,文件结构还是挺简单的,12个字节的文件头,包含字体的版本和大小等信息,字符按编码作为顺序,每个字符在文件中占32个字节,即是16 X 16的点阵字体
骨骼动画:
有限度地支持.x格式,说有限度支持是因为我并没有很仔细地研究.x动画格式,因此很难说在我的解析程序中是不是漏掉了对.x文件一些规范的支持,目前想干脆把它剥离出来作为一个自定义的动画格式算了。。不过这样还得写个导出工具才有意义
alpha混合:
没什么好说的,简单的混合:(1 - alpha) * srcColor + alpha * destColor
雾效:
基于顶点的计算,采用这个公式:f = exp( -d * c ),其中d为定点到视点的距离,c为雾化因子,在顶点比较密集的情况下能取得比较好的效果
基本上,不打算再继续写下去了,接下来需要整理下代码,写一个看起来不是很cool的DEMO,然后再把demo连同引擎的代码一起发出去。
release版的,debug版的FPS惨不忍睹。
posted on 2009-09-26 20:23
清風 阅读(2018)
评论(0) 编辑 收藏 引用 所属分类:
图形