欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法

文檔序號:6481123閱讀:230來源:國知局
專利名稱:一種三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法
技術(shù)領域
本發(fā)明涉及一種渲染方法,特別是一種三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法。

背景技術(shù)
在虛擬現(xiàn)實引擎處理邊緣清晰的某些特定目標的時候,現(xiàn)有的標準的紋理化方法不能很好的利用清晰特征來處理圖像,例如在渲染交通標志、路標、廣告牌或者標簽上的文字時,都會隨著觀察者靠近而逐漸模糊、失真。
標準紋理的模糊度在于位圖格式圖像的性質(zhì),在一定放大比例下,不管紋理圖像的分辨率有多高,它的像素(即紋理像素)是可分辨的,現(xiàn)有的圖形硬件中普遍使用的雙線性插值法可以避免這種情況下的像素階躍,但是,這種方法也有存在一個嚴重的缺陷,那就是它總是消除那些原本應該很清晰的邊,比如文字符號的輪廓線,因此不能很好的使得圖像輪廓在各種視角下保持清晰。
如果紋理僅僅包含純黑和純白兩種顏色,現(xiàn)有的處理方法是使用像素著色器對雙線性插值紋理進行閾值劃分,也就是,如果取得的灰度級別高于中度灰度,則將其轉(zhuǎn)變?yōu)槿谏粗畡t轉(zhuǎn)變?yōu)槿咨?。因此,所有的灰色像素都會消除,而黑白區(qū)域之間將會建立明顯的分界線。但是此方法生成的輪廓線不僅失真,呈現(xiàn)鋸齒,并且從一定距離觀看,演變成一塊鹽、胡椒狀的奇怪云塊。
此外,現(xiàn)有技術(shù)是利用同等效率的像素著色器來構(gòu)建三次曲線所界定的形狀,這種方法依賴于沿著邊界曲線放置三角形,這對于復雜的字體而言,可能需要成百上千的三角形。這對于當今的用戶級顯卡而言不是很好的選擇,因為這些顯卡對紋理的支持明顯優(yōu)于幾何。


發(fā)明內(nèi)容
本發(fā)明要解決的問題是提供一種三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法,該方法采用優(yōu)化的反走樣閾值劃分紋理,使得邊緣渲染更加清晰 為了解決上述技術(shù)問題,本發(fā)明的三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法,包括以下具體步驟 第一步,對目標紋理像素進行軟閾值劃分,像素分為三個區(qū)域,分別為黑色像素區(qū)域,灰色像素區(qū)域和白色像素區(qū)域; 第二步,通過高級著色語言中的二維向量,計算紋理像素與屏幕之間的空間距離,然后根據(jù)空間距離的不同,由像素著色器實現(xiàn)對像素顏色的調(diào)整; 第三步,對灰色像素區(qū)域的像素進行Mip-Mapping轉(zhuǎn)換,將中等灰度級別的像素區(qū)分出來。
本發(fā)明的三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法,還包括一個原始紋理輪廓線再生優(yōu)化處理步驟,即對較高級別的Mip-Mapping實行普通的box-filtering填充,對于低級別的Mip-Mapping,采用錯誤度量法進行優(yōu)化。
本發(fā)明取得的有益效果是 (1)對目標紋理像素進行軟閾值劃分,因而使得邊緣渲染更加清晰; (2)執(zhí)行效率高,資源占用小,可以生成與矢量圖形相媲美的照片質(zhì)量級的特效。



圖1是本發(fā)明的流程圖
具體實施例方式 如圖1所示,本發(fā)明的三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法,包括以下具體步驟 第一步,對目標紋理像素進行軟閾值劃分,像素分為三個區(qū)域,分別為黑色像素區(qū)域,灰色像素區(qū)域和白色像素區(qū)域; 現(xiàn)有的閾值劃分方法,由于不具備能夠柔化黑白像素梯度的灰度像素,閾值劃分馬上導致鋸齒現(xiàn)象。對付這種問題的一種簡單的方法就是放棄純閾值劃分,但是會更加增大對比度。這種情況下,通過雙線性插值得到的灰度值t不會進行插值劃分 float c=0.0; if(t>0.5) C=1.0; 而是提高對比度 float c=clamp(0.5+a*(t-0.5),0.0,1.0); 其中a控制放大數(shù)量數(shù),量1重新產(chǎn)生輸入;隨著a趨向無窮,強對比度逐漸淡化為閾值劃分。通常clamp指令會被忽略,因為圖形硬件將會自己鉗制顏色。
a的數(shù)值控制了邊的清晰度。目的是以一種消除鋸齒的方式來設置a,但始終保持高清晰度。因此,無論什么比例,黑色與白色之間的轉(zhuǎn)換總是在屏幕空間有相同的寬度。在上述方法的試驗中,1/3像素的寬度最后在鋸齒度和清晰度之間的做出了最優(yōu)的權(quán)衡。
黑白變化開始于一個紋理像素過渡到另一個時,如果視點靠近紋理,紋理就被放大。這兩個紋理像素可能被映射到其所位于的像素上,比如10個分開的屏幕空間像素。將a設置為1將會導致擴展到10個像素上的黑白轉(zhuǎn)變。不過,我們所希望的是4又5/6個像素是黑色,1/3個像素是轉(zhuǎn)變區(qū)域,4又5/6個像素是白色。因此,a必須設置為10*3∶4又5/6個像素后,t=29/60,灰度值在黑色那邊開始增長。通常,這意味著將a設置為3*s,其中s是像素的屏幕空間大小。
第二步,通過高級著色語言中的二維向量,計算紋理像素與屏幕之間的空間距離,然后根據(jù)空間距離的不同,由像素著色器實現(xiàn)對像素顏色的調(diào)整。
為了正確地調(diào)節(jié)顏色,需要在運行時決定相鄰紋理像素的屏幕空間距離。像素著色器提供了特殊的輔助指令。在HLSL(High Level Shading Language,高級著色語言)中,這些指令叫做ddx和ddy,用于為相關(guān)的參數(shù)計算分別關(guān)于屏幕空間x和y的導數(shù)。為了在設置中使用這些指令,可以用額外的紋理坐標來裝備對象。這些紋理坐標不是位于1*1的范圍內(nèi),而是寬*高。除此之外,還可以用標準紋理坐標uv加一次額外的二維向量乘法,來形成uv*float2(寬,高)。
二維向量ddx和ddy橫跨了某個屏幕空間像素在紋理空間的橢圓形軌跡。在斜視圖或者變形紋理坐標中,軌跡可以變成強力拉長的橢圓形;該橢圓沿主坐標軸方向比次坐標軸方向橫跨更多的紋理像素。
為了計算放大系數(shù)a,需要每個紋理像素的屏幕像素數(shù)目,也就是必須知道每個紋理像素在屏幕空間的軌跡。出于方便,我們稱ddx的分量為e,f;ddy的分量為g,h。因此,將x-y屏幕坐標空間的本地變化轉(zhuǎn)換為量化紋理坐標空間的變化的矩陣是 紋理像素可以近似為uvScaled紋理空間內(nèi)的半徑為1/2的圓盤,而其在屏幕空間內(nèi)的軌跡可以近似為橢圓盤。該圓盤由所有偏離中心(Δx,Δy)的點組成,也就是 可以寫作 該特征值表示為 沿著x-y屏幕空間內(nèi)的兩個主要坐標軸之一的某個向量將會與相應的λ相乘。從橢圓的中心島邊界擴展出一條主要坐標軸,而假設v是沿該軸的向量,其長度|v|等于橢圓的主板經(jīng)或次半徑。根據(jù)等式1得出 因此 因此,橢圓的主直徑和次直徑則是|v|的兩倍,分別是


等式2中的平方根項在第一個解中以加號出現(xiàn),在第二個解中則以減號出現(xiàn),因此,為了給出紋理像素大小的簡單的近似公式,我們一并忽略了上述平方根項 上述等式可以快速地通過4維向量計算求得,因此我們?nèi)缦略O置 float s=1.4/length(float4(dddx(uvScaled),ddy(uvScaled))); 不過,如果因為偏愛清晰度而使用算數(shù)平均或者主直徑的話,會招致長時間地計算等式2中的平方根項。
第三步,對灰色像素區(qū)域的像素進行Mip-Mapping轉(zhuǎn)換,將中等灰度級別的像素區(qū)出來。
如果離開一定距離觀察紋理,其將會轉(zhuǎn)變或大量的灰色像素,就像試用標準mip-mapping一樣。如果堅持基于可控對比度增強的主要思想,其將由如下方法實現(xiàn) foat c=clamp(0.5+a*(t-0.5),0.0,1.0); 通過mip-mapped紋理,可以取得t,而a則取1.0(屏幕空間的紋理像素遠比像素本身小時),從而容易地求出上述等式的值。
給定前面計算得到的s,可以簡單地設置 a=max(1.0,3.0*s); 因此,紋理像素大小縮小到1/3像素水平之下時,像素著色器的結(jié)果等價于標準mip-map。圖5顯示了s和a之間的依賴性。
綜上所述(加上一些優(yōu)化手段后),像素著色器如下 half4 t=tex2D(mySampler,IN.uv); float2 ef=ddx(IN.uvScaled); float2 gh=ddy(IN.uvScaled); half sInv=length(float4(ef,gh); half a=max(1.0,(3*1.4)/sInv); half c=0.5+a*(t.r-0.5); OUT.color=half4(c,c,c,1.0); return OUT; 上述程序編譯成11條ps_2_x版本像素著色器的匯編指令。為了在放大率的閾值劃分和縮小率的標準mip-mapping之間實現(xiàn)一個干凈的轉(zhuǎn)換,控制放大率是遠遠不夠的。在轉(zhuǎn)換范圍內(nèi),a等價于1.0,因此紋理中的中等灰度級別的像素變化不大。這種效果導致靠近黑白分界處,出現(xiàn)令人討厭的灰色斑點。
如果mip-mapping的最優(yōu)級別不包含中等灰度級別,上述問題可以迎刃而解。實驗表明,標準8位數(shù)格式可以禁止掉256個級別的中間32個(即
區(qū)間中的[112~143]子區(qū)間)。
下面小節(jié)中要討論的填充mip-map級別0的優(yōu)化過程,正是考慮了這一點。
第四步,對原始紋理輪廓線再生優(yōu)化處理,即對較高級別的Mip-Mapping實行普通的box-filtering填充,對于低級別的Mip-Mapping,采用錯誤度量法進行優(yōu)化。
紋理通常都通過矢量圖形生成,例如通過圖像軟件的位圖導出功能。但是采用閾值劃分技術(shù)的話,這些位圖會導致輪廓線上的凹凸不平??梢詫a(chǎn)生不同的紋理圖像這一特性作為自己的優(yōu)勢。
我們期望由閾值劃分雙線性插值紋理所形成的形狀由不規(guī)則的連續(xù)的線界定線性操作應該產(chǎn)生什么?然而,這對于三角形網(wǎng)格而言是成立的;對于標準紋理貼圖中使用的方形網(wǎng)格而言是不成立的。
如果a、b、c、分別是三角形的內(nèi)角,雙線性插值導致 (1-u-v)a+ub+vc, 其中u、v、(1-u-v)是三角形的重心坐標。然而,如果a、b、c、d是正方形的內(nèi)角,雙線性插值導致 (1-u)(1-v)a+u(1-v)b+uvc+(1-u)vd, 可以整理成 a+u(-a+b)+v(-a+d)+uv(a-b+c-d). 注意公式中出現(xiàn)的乘式uv,其會將公式轉(zhuǎn)變成非線性表達式。
閾值劃分紋理的輪廓線經(jīng)過點(u,v),此點處上述表達式的值等于1/2。對于這個曲線,我們可以為v找到關(guān)于u的有理函數(shù)關(guān)系 如果上述等式的分母不為0 我們可以解壓出關(guān)于幾何的精確數(shù)據(jù)。假設輪廓線與b值紋理像素和a值紋理像素之間的邊相交。這意味著要么b小于1/2,a大于1/2;或者反之亦然。輪廓線與邊相交于點(u,v), 其中 通過等式3對u求導數(shù),可以計算出輪廓線與邊相交點的角度。導函數(shù)值等于曲線與水平方向交角的正切函數(shù)。u=1時的導函數(shù)值 與其他邊相交點的等式與上述類似。
由于輪廓線是有理曲線,因此不容易控制。我們?yōu)槿蝿仗峁┝藘山M參數(shù);第一組,輪廓線與紋理像素網(wǎng)格邊的交點位置;第二組,交點處的輪廓線曲線方向。兩種類型的參數(shù)扣可以很容易地按照前面描述的方法計算出來。同樣的數(shù)據(jù)從原始矢量圖形中讀取出來作為比較的依據(jù)。為此,我們可以對高分辨率位圖版本的原始圖形采用標準的圖像處理技術(shù)。
目的是以這樣一種方式計算紋理,以便原始圖像的位置和角度數(shù)據(jù)可以再閾值劃分后很好地再生。由于輪廓線的細節(jié)信息只對放大視圖有意義,因此,較高(即較粗糙)的mip-map級別可以照常用box filtering填充。只有最優(yōu)級別(即mip-map級別0)會發(fā)生改變。
結(jié)果是只有在異常情況下,無法以這種方式構(gòu)建紋理,以至于實現(xiàn)了對所有位置和角度的約束。如果輪廓線與紋理像素網(wǎng)格的n條內(nèi)邊相交,就會產(chǎn)生n個位置與n各角度條件。相鄰紋理像素的灰度值可以有效地進行調(diào)整。如果輪廓線沒有很急的轉(zhuǎn)彎,紋理像素的數(shù)目是2n;否則,這個數(shù)目就有點低了。由于當所有的灰度值定量為1/2左右時,閾值劃分圖像不會發(fā)生變化,因此,我們會損失更多的自由度。
這些圖示表明約束條件通常都是不會被完全遵循的。我們需要適當?shù)厥褂靡环N錯誤度量法來指導優(yōu)化過程。這種優(yōu)化過程速度非???,因為它僅僅影響與輪廓線相鄰的紋理像素。絕大部分的紋理像素可以保持純黑色或者純白色。
更為顯著的是,優(yōu)化導致更尖銳的內(nèi)角,它會自動地用抵衡紋理像素來處理內(nèi)角。
權(quán)利要求
1.一種電動機扒輪器,其特征在于包括底卡盤(2)、與底卡盤(2)平行放置的頂卡盤(4)、垂直于底卡盤(2)和頂卡盤(4)且用于固定連接底卡盤(2)和頂卡盤(4)的螺桿(3)、絲杠(6)和固定在絲杠(6)上的把手(7),所述底卡盤(2)上設有一個卡槽(10),所述頂卡盤(4)上固定有一個調(diào)節(jié)螺母(8),所述絲杠(6)插入于所述調(diào)節(jié)螺母(8)中,所述螺桿(3)上設有緊固用的螺母(5)。
2.根據(jù)權(quán)利要求1所述的電動機扒輪器,其特征在于所述底卡盤(2)和頂卡盤(4)均為三角形,每一個角上均設有一個螺桿孔(9),所述螺桿(3)為三根,所述緊固用的螺母(5)為六個。
全文摘要
本發(fā)明公開了一種三維虛擬現(xiàn)實引擎對目標渲染清晰化的方法,主要包括以下具體步驟對目標紋理像素進行軟閾值劃分,像素分為三個區(qū)域,分別為黑色像素區(qū)域,灰色像素區(qū)域和白色像素區(qū)域;通過高級著色語言中的二維向量,計算紋理像素與屏幕之間的空間距離,然后根據(jù)空間距離的不同,由像素著色器實現(xiàn)對像素顏色的調(diào)整;對灰色像素區(qū)域的像素進行Mip-Mapping轉(zhuǎn)換,將中等灰度級別的像素區(qū)分出來。本發(fā)明取得的有益效果是(1)對目標紋理像素進行軟閾值劃分,因而使得邊緣渲染更加清晰;(2)執(zhí)行效率高,資源占用小,可以生成與矢量圖形相媲美的照片質(zhì)量級的特效。
文檔編號G06T15/10GK101567091SQ20091001540
公開日2009年10月28日 申請日期2009年5月18日 優(yōu)先權(quán)日2009年5月18日
發(fā)明者科 彭, 強 石, 劉樂天, 劉文春 申請人:青島高歌網(wǎng)絡科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
九江县| 香格里拉县| 当雄县| 汝州市| 四平市| 湟中县| 九江市| 云霄县| 芷江| 韩城市| 隆昌县| 富源县| 佛山市| 宁化县| 鸡东县| 常山县| 嘉祥县| 双流县| 台江县| 兴山县| 壶关县| 桂阳县| 兴城市| 安龙县| 青铜峡市| 九龙城区| 亳州市| 贡山| 黄龙县| 澜沧| 万年县| 石家庄市| 新源县| 苏州市| 阳山县| 濉溪县| 江油市| 铜山县| 松阳县| 志丹县| 崇义县|