SALVIA - 光栅化软件渲染器


GPLv2
Windows
C/C++

软件简介

SALVIA是一款光栅化的软件渲染器 ,设计目标是达到Direct3D 10/11的核心功能的实现。 我们的设计目的主要包括以下几点

  • 一个高度可移植的光栅化图形管线的软件实现
  • 图形硬件工作原理的展现和教学
  • 为下一代Many Core或Larrabee类的多x86处理器架构的计算设备提供高性能的图形绘制能力
  • 提供在GPU一类的流处理器上难以实现,但在Many Core架构的设备上有着显著优势的Features
  • 比图形API更加易于使用的接口
  • 与复杂的渲染技术(如辐射度和光线追踪等)相结合的可伸缩的渲染体系,研究可以提供速度-质量相均衡的渲染架构

SALVIA的接口参照了DX10的设计,以流水线划分Stage;每个Stage及其相关设施的接口,均采用了Object-Oriented的设计风格。
这种设计与D3D9和OGL的状态机风格的设计相比更易于使用,同时也降低了流水线前后级的耦合,对于优化或扩展都是有利的。

目前,SALVIA已经具有了完整的D3D9的流水线级,通过SALVIA Shading Language编译器及运行时环境支持Vertex
Shader与Pixel Shader,并有了基本的Demo。

在未来,SALVIA将在维持内核稳定的情况下,使用新的扩展,提供先进的图形技术支撑。
同时,我们还将尝试着将一些不易在GPU上实现的算法,以扩展的形式在SALVIA中实现出来,以期提供高于图形API的表现和特性。

SALVIA在 近阶段的主要工作 包括:

  • MSAA,并提供可定制的Sampling Pattern
  • EWA-based Anistropic Filtering
  • 以扩展形式提供的Geometry Shader,Hull Shader和Tesselassion Shader
  • 持续的并行优化
  • 特性及性能的演示用例
  • 文档撰写

目前,SALVIA已经作为一个开源项目发布在http://code.google.com/p/softart上, 最新的代码在svn中。
所有代码除特殊声明外,均为GPL 2协议,您可以在协议许可的范围内自由下载或使用。