国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種融合gpu與cpu計算輻射度光照的方法

      文檔序號:6545488閱讀:643來源:國知局
      一種融合gpu與cpu計算輻射度光照的方法
      【專利摘要】一種融合GPU與CPU計算輻射度光照的方法,采用GPU硬件加速的方法來求解輻射度,把逐步求精輻射度光照算法的計算由CPU轉(zhuǎn)移到GPU來實現(xiàn)。隨著可編程圖形硬件的發(fā)展,使得用戶可以自己編制著色程序(Shader)來替換固定流水線中的一些功能模塊,把在CPU中實現(xiàn)的算法照搬到GPU中來執(zhí)行,從而能夠利用GPU本身具有的強大計算能力來加快輻射度光照求解的計算,減少渲染時間。本發(fā)明對于簡單場景的光照計算可以達到交互的速度,對復雜場景的光照計算可以極大的提高計算速度,減少光照渲染的時間,并且同時取得了不錯的光照效果。
      【專利說明】
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明屬于計算機圖形【技術(shù)領(lǐng)域】,涉及通過渲染技術(shù)對場景進行光照處理,為一 種融合GPU與CPU計算輻射度光照的方法。 一種融合GPU與CPU計算輻射度光照的方法

      【背景技術(shù)】
      [0002] 二十世紀中后期,隨著真實感圖形學的出現(xiàn),標志著計算機圖形的發(fā)展進入了新 的階段。對場景進行光照處理的方法大致可以分為兩大類:直接照明和全局照明。1980年 Whitted提出了光線跟蹤模型,并且具體給出了算法的實例,該模型成功的利用跟蹤光線的 傳播路徑來解決光照問題;1984年,美國和日本的學者成功地在計算機圖形學中加入了熱 輻射工程中的輻射度思想,通過計算環(huán)境中整體能量傳遞來模擬光照效果,并且利用這種 思想成功的模擬出了在純漫反射環(huán)境下光照的多重漫反射效果。這兩種算法的提出與應(yīng) 用,標志著真實感圖形的生成技術(shù)已經(jīng)逐漸的成熟起來。
      [0003] 計算機圖形學中有三種主流的渲染技術(shù):z緩沖技術(shù)、光線跟蹤技術(shù)和輻射度技 術(shù):
      [0004] l)z緩沖技術(shù)的基本思想是:把三維場景通過透視矩陣進行投影到視平面,并在 視平面上對其光柵化處理。然而這并不是基于真實的光照模型,圖像表現(xiàn)不太真實。并且 它本身是衍生于一種局部光照模型的,因此從算法理論講場景中物體的相互反射和折射等 現(xiàn)象是無法表現(xiàn)出的。更不用說表現(xiàn)焦散、衍射等高級光照效果。
      [0005] 2)光線跟蹤技術(shù)能產(chǎn)生Gouraud和Phong等局部光照模型很難產(chǎn)生的光照效果, 如陰影、折射、反射和運動模糊等類似的真實感效果。但光線跟蹤算法很難模擬景物的多重 漫反射效果,從而不能模擬景物之間的互相色彩輝映等類似現(xiàn)象。
      [0006] 3)輻射度技術(shù):輻射度算法與光線跟蹤法不同,它由物理學中的總能量守衡原理 推的,通過采用數(shù)值求解的方法來近似計算物體表面的輻射度值,這就使得輻射度具有視 點無關(guān)性。這一特點也讓輻射度算法特別適合于虛擬場景中的漫游。通過把場景看成一個 封閉系統(tǒng),系統(tǒng)內(nèi)的景物表面均是理想漫反射表面,再由能量平衡原理計算景物表面的輻 射度分布,由于把封閉系統(tǒng)中各個物體表面的能量傳遞考慮在內(nèi),所以會從整體上計算出 環(huán)境中的光照分布。因此,輻射度算法和上述提到的算法不同,它是一種整體求解光照值的 技術(shù)。但是對于一個復雜場景來說,使用輻射度算法來渲染整個場景會花費很長時間,這也 給算法帶來了很多不利的因素。
      [0007] 正如前面對現(xiàn)有技術(shù)的介紹,現(xiàn)階段生成真實感圖像最重要的光照模型是輻射度 這一全局光照模型。它可以計算物體之間的漫反射,具有視點無關(guān)性,為虛擬漫游提供了快 速的顯示。設(shè)Bi為在單位時間單位面積內(nèi)離開第i個面片的能量,它是發(fā)射和反射的能量

      【權(quán)利要求】
      1. 一種融合GPU與CPU計算輻射度光照的方法,在計算機圖形光照渲染中,采用逐步 求精輻射度光照算法對光照輻射度進行迭代計算,其特征是采用GPU來進行輻射度迭代計 算,GPU對場景中的多邊形進行光柵化處理,得到片段,包括以下步驟: 1) 初始化場景中多邊形的輻射度E,選擇其中具有最大輻射度的多邊形作為發(fā)射者; 2) 以發(fā)射者的視角,把每個多邊形的ID作為顏色通過GPU進行第一次渲染,并用頂點 著色器進行半球投影,另外在CPU中創(chuàng)建幀緩沖區(qū)A,將第一次渲染后可見的多邊形的片段 ID存儲到所述幀緩沖區(qū)A的紋理中,同時把多邊形的光照貼圖中每個像素的坐標同樣存儲 在紋理中; 3) 以發(fā)射者的視角,以每個多邊形的ID作為顏色進行第二次渲染,判斷第二次渲染后 的片段ID是否在第一次渲染得到的紋理中,如果在則片段可見,計算可見片段的形狀因子 FF,再計算接收到的輻射度ΛΕ= p*FF*E,P為多邊形的反射率,同時在CPU中創(chuàng)建幀緩 沖區(qū)B,將計算得到的輻射度Λ E存儲到幀緩沖區(qū)B的渲染緩沖區(qū)對象中;如果第二次渲染 后的片段ID不在第一次渲染得到的紋理中,則不可見,不可見片段接收輻射度值為0 ; 4) 根據(jù)第一次渲染得到的紋理中的每個像素的坐標值和第二次渲染得到的渲染緩沖 區(qū)對象中的輻射度值,來更新每個多邊形的光照貼圖,完成一次逐步求精輻射度算法的求 解;然后將發(fā)射者的光照貼圖輻射度清零,計算此時場景中具有最大輻射度值的多邊形,作 為為下一個發(fā)射者; 5) 根據(jù)步驟4)得到的下一個發(fā)射者,重復步驟2)-4),直至計算得到的場景中最大輻 射度值低于設(shè)定的閾值時,停止迭代計算,最近一次得到的解即為每個多邊形精確輻射度 值,完成光照渲染。
      2. 根據(jù)權(quán)利要求1所述的一種融合GPU與CPU計算輻射度光照的方法,其特征是步驟 2) 所述第一次渲染為可見遍渲染,從發(fā)射者的視角來離線渲染場景,把場景中每個多邊形 的ID作為顏色來進行渲染,利用可編程頂點著色器把頂點投影到一個半球體上,最終把結(jié) 果渲染到紋理中存儲;同時把每個多邊形光照貼圖中像素的的坐標寫入紋理中存儲,紋理 中的每個單元存儲的即為對當前發(fā)射者可見的多邊形的ID和像素的的坐標,包括以下步 驟: 11) 創(chuàng)建一個空的紋理texture,用來存儲接下來執(zhí)行離屏渲染的結(jié)果; 12) 創(chuàng)建幀緩沖區(qū)A,所述幀緩沖區(qū)A用于實現(xiàn)離屏渲染,即用于把當前一次的渲染結(jié) 果存儲到創(chuàng)建的紋理texture中作為臨時變量存儲; 13) 在頂點著色器中創(chuàng)建執(zhí)行半球投影的著色器程序,并對著色器中用到的一致變量 進行初始化賦值,用它代替OpenGL固定管線上頂點處理操作; 14) 渲染場景:把場景中每個多邊形的ID作為顏色來進行渲染,并將渲染結(jié)果以及多 邊形的光照貼圖中每個像素的坐標存儲到紋理texture。
      3. 根據(jù)權(quán)利要求1所述的一種融合GPU與CPU計算輻射度光照的方法,其特征是步驟 3) 所述第二次渲染為重建遍渲染,創(chuàng)建幀緩存區(qū)B,并且為其附加渲染緩沖區(qū)對象,通過離 屏渲染操作,用渲染緩沖區(qū)對象來存儲輻射度計算過程中每個片段的輻射度光照值,包括 以下步驟: 21)在CPU中創(chuàng)建幀緩沖區(qū)B,為其附加連接渲染緩沖區(qū)對象,渲染緩沖區(qū)對象是一個 數(shù)據(jù)存儲區(qū),存儲的是片段著色器計算完每個片段得到的輻射度值,對應(yīng)于每個像素的輻 射度值; 22. CPU為創(chuàng)建的渲染緩沖區(qū)對象分配存儲空間并指定圖像格式,其中存儲空間的大小 與第一次渲染的紋理大小一樣,使得光照貼圖紋理中的像素與幀緩存區(qū)B的每個片段建立 一一對應(yīng)的關(guān)系,用于把每個多邊形計算得到的輻射度值從幀緩存區(qū)B中重新復制到多邊 形的紋理中,為下一次迭代求解準備,一旦CPU為渲染緩沖區(qū)對象創(chuàng)建了存儲空間后,就可 以把渲染緩沖區(qū)對象附加到創(chuàng)建的幀緩沖區(qū)B上,然后向幀緩沖區(qū)B進行渲染; 23) 通過GPU以每個多邊形的ID作為顏色進行第二次渲染,在片段著色器中對光柵 化后的每個片段進行可見性判斷,通過在片段著色器中讀取第一次渲染得到的幀緩沖區(qū)A 的紋理,來判斷當前片段是否在該紋理中,若在則對發(fā)射者可見,計算可見片段的形狀因子 值,進而求出該片段接收到的輻射度,并把結(jié)果存儲到渲染緩沖區(qū)對象中; 24) 從幀緩沖區(qū)A和幀緩沖區(qū)B讀取第一次渲染得到的紋理中存儲的像素坐標數(shù)據(jù)和 第二次渲染得到的渲染緩沖區(qū)對象中的每個像素的輻射度值,并把所述坐標數(shù)據(jù)和輻射度 值更新到每個多邊形自身的光照貼圖中,這樣就得到一次逐步求精輻射度算法的解。
      4.根據(jù)權(quán)利要求1所述的一種融合GPU與CPU計算輻射度光照的方法,其特征是步驟 5)中,得到每個多邊形精確輻射度值后,把此時每個多邊形對應(yīng)的光照貼圖進行紋理打包, 然后把整個場景渲染到窗口系統(tǒng)提供的幀緩沖區(qū)中用于顯示。
      【文檔編號】G06T15/50GK104157004SQ201410183134
      【公開日】2014年11月19日 申請日期:2014年4月30日 優(yōu)先權(quán)日:2014年4月30日
      【發(fā)明者】姜曉彤, 于平 申請人:常州贊云軟件科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1