今天把软渲器前后跑了一下,排掉了z buffer的一个很恶心的bug后,终于顺畅了。
虽然前前后后的球啊、方盒子啊、平面啊测试了不少,但是差不多像Demo的这还是头一个。
由于不支持复杂的ddx、ddy(ps仅仅支持求输入寄存器的ddx ddy),因此ps30的很多东西就没法做了。
一开始实现的时候没考虑GS,所以也就没有ps40可言。
不过对于软件渲染器来说,没有GS,以及没有DX11的TS也算不得什么硬伤。
博客的文章上,这之前还缺设计模式的最后一个话题没讲完。
等结束了尾巴话题以后,就简单的说一下软件渲染器的问题。
其实没有什么太大的难度,代码量也不大,核心库也就8K行代码。
源代码由于还比较混乱(主要是很多地方都是双向),所以还没有放出来。准备在我放假前放到sourceforge上,这也是我答应了叛兄的。
然后可能要在他的帮助下把SR规范一下后作为KlayGE的software renderer plug-in用。
这是一个勾边的Demo。原理很简单,先正面渲染一次,再沿法线拉伸一下模型,背面渲染一次。
效果图。
光摆图我也不敢放首页啊……
主要是征询一下,这段时间我做什么Demo比较好(如果有太复杂场景的就算了,因为软件渲染器速度有限,但是可以有比较复杂的效果)
还有个就是,征询一下SF上project的名字。。。