SALVIA是一款光柵化的軟件渲染器,設(shè)計目標(biāo)是達(dá)到Direct3D 10/11的核心功能的實現(xiàn)。我們的設(shè)計目的主要包括以下幾點:
- 一個高度可移植的光柵化圖形管線的軟件實現(xiàn)
- 圖形硬件工作原理的展現(xiàn)和教學(xué)
- 為下一代Many Core處理器架構(gòu)的計算設(shè)備提供高性能的圖形繪制能力
- 提供在GPU一類的流處理器上難以實現(xiàn),但在Many Core架構(gòu)的設(shè)備上有著顯著優(yōu)勢的Features
- 比圖形API更加易于使用的接口
- 與復(fù)雜的渲染技術(shù)(如輻射度和光線追蹤等)相結(jié)合的可伸縮的渲染體系,研究可以提供速度-質(zhì)量相均衡的渲染架構(gòu)
SALVIA的接口重點參照了DX10的設(shè)計。
以流水線劃分Stage;每個Stage及其相關(guān)設(shè)施的接口,均采用了Object-Oriented的設(shè)計風(fēng)格。
這種設(shè)計與D3D9和OGL的狀態(tài)機風(fēng)格的設(shè)計相比更易于使用,同時也降低了流水線前后級的耦合,對于優(yōu)化或擴展都是有利的。
目前,SALVIA已經(jīng)具有了完整的D3D9的流水線級,并有了基本的Demo。
在未來,SALVIA將在維持內(nèi)核穩(wěn)定的同時,通過擴展提供先進(jìn)的圖形技術(shù)支撐。
同時,我們還將嘗試著將一些不易在GPU上實現(xiàn)的算法,以擴展的形式在SALVIA中實現(xiàn)出來,以期提供高于圖形API的表現(xiàn)和特性。
SALVIA在近階段的主要工作包括:
- Rasterizer的優(yōu)化
- SALVIA Shading Language語言特性設(shè)計及編譯器實現(xiàn),為SALVIA提供文本化的Shader
- MSAA,并提供可定制的Sampling Pattern(2x 和 4x,目前尚有Bug)
- EWA-based Anistropic Filtering
- 以擴展形式提供的Geometry Shader,Hull Shader和Tesselassion Shader
- 并行優(yōu)化(持續(xù)優(yōu)化中)
- Intel SCC的移植
- 特性及性能的演示用例
- 文檔撰寫 (已經(jīng)有成員負(fù)責(zé)此事)
目前,SALVIA已經(jīng)作為一個開源項目發(fā)布在http://code.google.com/p/softart上,最新的代碼在Mercurial中。
所有代碼除特殊聲明外,均為GPL 2協(xié)議,您可以在協(xié)議許可的范圍內(nèi)自由下載或使用。
如果發(fā)現(xiàn)了軟件的缺陷,或者有任何好的意見和建議,您可以在項目管理頁面上留言,或者聯(lián)系作者
wuye9036@gmail.com
minmin.gong@gmail.com
我謹(jǐn)代表項目全體成員及用戶,對您為本項目的發(fā)展做出的獨一無二的貢獻(xiàn)表示敬意和感謝!
作為一款基于GPL2協(xié)議的開源光柵化渲染器,SALVIA的目的當(dāng)然不僅僅是軟件產(chǎn)品那么簡單。
我們也希望以SALVIA為基礎(chǔ),建設(shè)一個充滿智慧與活力的社區(qū)。
這個社區(qū)里,每一個智慧的閃光,都能夠給其他人以啟迪;每一個智慧的閃光,都能夠使SALVIA向更好的方向邁出一步。
隨著SALVIA框架的完成,SALVIA復(fù)雜而有挑戰(zhàn)性的特性擴充工作已經(jīng)擺在面前。
無論你
- 是喜歡Irregular Z Buffer一類不走尋常路的硬件架構(gòu)技術(shù),期望實現(xiàn)自己的硬件架構(gòu);
- 還是癡迷于運用最新的圖形學(xué)理論,制作讓人眼花繚亂,嘆為觀止的Demo;
- 還是希望將SALVIA與商業(yè)產(chǎn)品相結(jié)合,使其想用戶所想,為用戶所不能為;
我們都以100%的熱忱歡迎您。
為了維持SALVIA核心框架的穩(wěn)定性,保證代碼質(zhì)量,我們計劃將全部的Project Members分為核心組和開發(fā)者組兩部分。
核心組暫時由 空明流轉(zhuǎn)(wuye9036@gmail.com) 和 Minmin.Gong(minmin.gong@gmail.com) 組成,主要負(fù)責(zé)架構(gòu)設(shè)計,Shading Language語言標(biāo)準(zhǔn)的制定,SALVIA內(nèi)核的開發(fā),設(shè)計文檔和接口約定的撰寫,以及主分支的維護(hù)工作。
開發(fā)者組將按照工作內(nèi)容大致分為三種:
- 文檔組:主要負(fù)責(zé)注釋和文檔的撰寫工作等
- 編譯器組:負(fù)責(zé)編譯器Host特性和Language Bridge的設(shè)計和擴充,編譯器維護(hù),性能調(diào)優(yōu)等
- 擴展組:撰寫設(shè)備或輔助庫擴展,如Geometry Shader的Host代碼,數(shù)學(xué)庫等
現(xiàn)有開發(fā)組成員均具有6-12年不等的開發(fā)經(jīng)驗,多數(shù)在業(yè)內(nèi)著名企業(yè)擔(dān)任主要開發(fā)人員或技術(shù)負(fù)責(zé)人的職位。
我們對開發(fā)組成員充分信任,開發(fā)組成員將在各自的分支上完成開發(fā)工作,在您工作的分支上,您享有完全的寫權(quán)限。
我們將按期進(jìn)行所有分支修改的Review工作,并邀請您參與到Review中來,您既是分支的作者,也是其他分支的審閱者。
如果您的修改通過了Review并采納到主分支中,我們希望能在您的協(xié)助下,將您對SALVIA的所思,所想,所為,原原本本的融入到SALVIA主分支中,令它如您所想般的成長。
同時,核心組將會視情況,組織線上或線下的技術(shù)交流活動,與大家一起交流技術(shù)心得、分享管理經(jīng)驗。當(dāng)然,也會分享快樂的人生。
如果您希望加入我們這個團隊當(dāng)中,為我們的團隊,為SALVIA提供您寶貴的支持,請您準(zhǔn)備好您的以下資料:
- ID:常用的ID,最好包括真實姓名
- Google Account:如果沒有,可以申請一個。因為我們的SVN Repository是建立在Google Code上的)
- 聯(lián)系方式:IM(QQ,MSN,GTALK)和Email,有手機最好
- 自我介紹:包括擅長的技術(shù)啦,項目經(jīng)驗啦,閑扯也可,呵呵
- 希望參與的工作
- 其他要求:唔。。。隨便什么要求
發(fā)送至郵箱 wuye9036@gmail.com,或在此站點以站內(nèi)信的方式發(fā)送與我。我將盡可能的與您聯(lián)系并面議。
我們真誠歡迎您的參與,并對您的加盟,表示真心的感謝和由衷的期待!