SALVIA是一款光栅化的软件渲染器,设计目标是达到Direct3D 10/11的核心功能的实现。我们的设计目的主要包括以下几点:
- 一个高度可移植的光栅化图形管线的软件实现
- 图形硬件工作原理的展现和教学
- 为下一代Many Core处理器架构的计算设备提供高性能的图形绘制能力
- 提供在GPU一类的流处理器上难以实现,但在Many Core架构的设备上有着显著优势的Features
- 比图形API更加易于使用的接口
- 与复杂的渲染技术(如辐射度和光线追踪等)相结合的可伸缩的渲染体系,研究可以提供速度-质量相均衡的渲染架构
SALVIA的接口重点参照了DX10的设计。
以流水线划分Stage;每个Stage及其相关设施的接口,均采用了Object-Oriented的设计风格。
这种设计与D3D9和OGL的状态机风格的设计相比更易于使用,同时也降低了流水线前后级的耦合,对于优化或扩展都是有利的。
目前,SALVIA已经具有了完整的D3D9的流水线级,并有了基本的Demo。
在未来,SALVIA将在维持内核稳定的同时,通过扩展提供先进的图形技术支撑。
同时,我们还将尝试着将一些不易在GPU上实现的算法,以扩展的形式在SALVIA中实现出来,以期提供高于图形API的表现和特性。
SALVIA在近阶段的主要工作包括:
- Rasterizer的优化
- SALVIA Shading Language语言特性设计及编译器实现,为SALVIA提供文本化的Shader
- MSAA,并提供可定制的Sampling Pattern(2x 和 4x,目前尚有Bug)
- EWA-based Anistropic Filtering
- 以扩展形式提供的Geometry Shader,Hull Shader和Tesselassion Shader
- 并行优化(持续优化中)
- Intel SCC的移植
- 特性及性能的演示用例
- 文档撰写 (已经有成员负责此事)
目前,SALVIA已经作为一个开源项目发布在http://code.google.com/p/softart上,最新的代码在Mercurial中。
所有代码除特殊声明外,均为GPL 2协议,您可以在协议许可的范围内自由下载或使用。
如果发现了软件的缺陷,或者有任何好的意见和建议,您可以在项目管理页面上留言,或者联系作者
wuye9036@gmail.com
minmin.gong@gmail.com
我谨代表项目全体成员及用户,对您为本项目的发展做出的独一无二的贡献表示敬意和感谢!
作为一款基于GPL2协议的开源光栅化渲染器,SALVIA的目的当然不仅仅是软件产品那么简单。
我们也希望以SALVIA为基础,建设一个充满智慧与活力的社区。
这个社区里,每一个智慧的闪光,都能够给其他人以启迪;每一个智慧的闪光,都能够使SALVIA向更好的方向迈出一步。
随着SALVIA框架的完成,SALVIA复杂而有挑战性的特性扩充工作已经摆在面前。
无论你
- 是喜欢Irregular Z Buffer一类不走寻常路的硬件架构技术,期望实现自己的硬件架构;
- 还是痴迷于运用最新的图形学理论,制作让人眼花缭乱,叹为观止的Demo;
- 还是希望将SALVIA与商业产品相结合,使其想用户所想,为用户所不能为;
我们都以100%的热忱欢迎您。
为了维持SALVIA核心框架的稳定性,保证代码质量,我们计划将全部的Project Members分为核心组和开发者组两部分。
核心组暂时由 空明流转(wuye9036@gmail.com) 和 Minmin.Gong(minmin.gong@gmail.com) 组成,主要负责架构设计,Shading Language语言标准的制定,SALVIA内核的开发,设计文档和接口约定的撰写,以及主分支的维护工作。
开发者组将按照工作内容大致分为三种:
- 文档组:主要负责注释和文档的撰写工作等
- 编译器组:负责编译器Host特性和Language Bridge的设计和扩充,编译器维护,性能调优等
- 扩展组:撰写设备或辅助库扩展,如Geometry Shader的Host代码,数学库等
现有开发组成员均具有6-12年不等的开发经验,多数在业内著名企业担任主要开发人员或技术负责人的职位。
我们对开发组成员充分信任,开发组成员将在各自的分支上完成开发工作,在您工作的分支上,您享有完全的写权限。
我们将按期进行所有分支修改的Review工作,并邀请您参与到Review中来,您既是分支的作者,也是其他分支的审阅者。
如果您的修改通过了Review并采纳到主分支中,我们希望能在您的协助下,将您对SALVIA的所思,所想,所为,原原本本的融入到SALVIA主分支中,令它如您所想般的成长。
同时,核心组将会视情况,组织线上或线下的技术交流活动,与大家一起交流技术心得、分享管理经验。当然,也会分享快乐的人生。
如果您希望加入我们这个团队当中,为我们的团队,为SALVIA提供您宝贵的支持,请您准备好您的以下资料:
- ID:常用的ID,最好包括真实姓名
- Google Account:如果没有,可以申请一个。因为我们的SVN Repository是建立在Google Code上的)
- 联系方式:IM(QQ,MSN,GTALK)和Email,有手机最好
- 自我介绍:包括擅长的技术啦,项目经验啦,闲扯也可,呵呵
- 希望参与的工作
- 其他要求:唔。。。随便什么要求
发送至邮箱 wuye9036@gmail.com,或在此站点以站内信的方式发送与我。我将尽可能的与您联系并面议。
我们真诚欢迎您的参与,并对您的加盟,表示真心的感谢和由衷的期待!