国产精品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>

      三維圖形管道中的可程序化像素設(shè)定方法及使用其的裝置的制造方法_2

      文檔序號(hào):9397551閱讀:來源:國知局
      SetupShader)及可視范圍裁切著色器(GBS, Guard-Band clipping Shader) 230的運(yùn)算結(jié)果輸出至片元產(chǎn)生階段(TG-Tile Generat1n Stage) 260。屬性著色器240的運(yùn)算結(jié)果輸出至后置階段(BS,Back Stage) 270,后置階段270可包含公知的像素著色器(PS, Pixel Shader) ο
      [0018]圖3是依據(jù)本發(fā)明實(shí)施例的三維圖形管道中的可程序化像素設(shè)定方法流程圖。前置階段220的結(jié)果可輸出并儲(chǔ)存至像素緩存器110。編譯器為處理像素緩存器110中指定數(shù)目的相同類型像素,例如16、32或64個(gè)三角形,通知設(shè)定著色器執(zhí)行線程建構(gòu)單元140,用以產(chǎn)生設(shè)定著色器執(zhí)行線程(步驟S311)。設(shè)定著色器執(zhí)行線程建構(gòu)單元140可使用特定電路實(shí)施,較固定函數(shù)模塊花費(fèi)較少的閘數(shù)成本。設(shè)定著色器執(zhí)行線程建構(gòu)單元140或可使用硬件或軟件實(shí)施,以及當(dāng)流處理器120加載并執(zhí)行所需的程序代碼時(shí)產(chǎn)生設(shè)定著色器執(zhí)行線程。設(shè)定著色器執(zhí)行線程于執(zhí)行時(shí),實(shí)現(xiàn)像素拓樸功能,包含如下所述的步驟。為每一個(gè)像素,設(shè)定著色器執(zhí)行線程判斷是否需要進(jìn)行瑣碎拒絕(trivial reject1n)(步驟S313)。像素可以從像素緩存器110或可視范圍像素緩存器170取得。在步驟S313,詳細(xì)來說,流處理器120中的單指令多數(shù)據(jù)處理單元加載多個(gè)相同類型像素,而每一單指令多數(shù)據(jù)處理單元判斷加載的像素是否整個(gè)超出顯示畫面。針對(duì)每一個(gè)像素,若是,則代表此像素不需要繪制并更新瑣碎拒絕掩碼(trivial reject1n mask)中的相應(yīng)位(步驟S315);否則,進(jìn)行此像素的視端口轉(zhuǎn)換(viewport transform)(步驟S319)?,嵥榫芙^掩碼可實(shí)施于寄存器(register) 310中。在步驟S315,舉例來說,瑣碎拒絕掩碼可包含指定數(shù)目的位,并初始設(shè)定為邏輯“O”。當(dāng)?shù)贠個(gè)像素需要進(jìn)行瑣碎拒絕時(shí),則將瑣碎拒絕掩碼中的第O個(gè)位設(shè)定為邏輯“I”。于步驟S319,視端口轉(zhuǎn)換依據(jù)必要信息(例如,三維空間坐標(biāo)等)將此像素轉(zhuǎn)換至顯示畫面的二維坐標(biāo)。為余下的像素,設(shè)定著色器執(zhí)行線程更判斷是否需進(jìn)行可視范圍裁切(GBC,Guard-Band Clipping)(步驟S331)。在步驟S331,詳細(xì)來說,流處理器120中的單指令多數(shù)據(jù)處理單元加載需要處理的像素,而每一單指令多數(shù)據(jù)處理單元判斷加載的像素是否需要進(jìn)行可視范圍裁切。針對(duì)任一個(gè)像素,若是,則代表所有像素都需要讓可視范圍裁切著色器230作進(jìn)一步處理,因而結(jié)束設(shè)定著色器執(zhí)行線程(步驟S333)。為余下的每一像素,設(shè)定著色器執(zhí)行線程進(jìn)行特征計(jì)算(DET, DETerminant calculat1n)(步驟S335)。舉例來說,步驟S335可計(jì)算三角形面積、像素位于顯示畫面的正面或反面等特征。為余下的每一像素,設(shè)定著色器執(zhí)行線程判斷是否需剔除(cull)(步驟S337)。在步驟S337,詳細(xì)來說,流處理器120中的單指令多數(shù)據(jù)處理單元加載需要處理的像素,而每一單指令多數(shù)據(jù)處理單元判斷加載的像素是否位于顯示畫面的反面。若是,則代表此像素不需要繪制并更新瑣碎拒絕掩碼中的相應(yīng)位(步驟S315);否則,產(chǎn)生屬性著色器240所需的參數(shù)(attributes)(步驟S339)。舉例來說,當(dāng)?shù)?0個(gè)像素需要剔除時(shí),則將瑣碎拒絕掩碼中的第10個(gè)位設(shè)定為邏輯“I”。為余下的每一像素,設(shè)定著色器執(zhí)行線程執(zhí)行拓樸函數(shù)(TF, Topology funciton)并輸出至片元產(chǎn)生階段260 (步驟S351)。
      [0019]設(shè)定著色器執(zhí)行線程更周期性從寄存器310讀取瑣碎拒絕掩碼中的值(步驟S371),判斷是否所有像素都被拒絕(步驟S373),若是,則結(jié)束設(shè)定著色器執(zhí)行線程(步驟S353)。在步驟S371及步驟S373,舉例來說,設(shè)定著色器執(zhí)行線程判斷瑣碎拒絕掩碼中的所有位是否皆為邏輯“ I ”,若是則代表所有像素都被拒絕而不需要描繪。
      [0020]參考圖3中的步驟S311。圖4是依據(jù)本發(fā)明實(shí)施例的產(chǎn)生設(shè)定著色器執(zhí)行線程的方法流程圖。設(shè)定著色器執(zhí)行線程建構(gòu)單元140周期性地執(zhí)行一個(gè)循環(huán),用以從像素緩存器110或可視范圍像素緩存器170取得一個(gè)像素的信息(步驟S411),并判斷是否為完整的像素(步驟S413)。若是則請(qǐng)求共享內(nèi)存130配置空間(步驟S415);否則忽略此像素信息(步驟S417)。共享內(nèi)存130中的內(nèi)存控制器接收到請(qǐng)求后(步驟S415),判斷是否有足夠空間(步驟S471)。若是則回復(fù)成功信息,其中包含配置空間的地址(步驟S473);否則回復(fù)失敗信息(步驟S475)。當(dāng)設(shè)定著色器執(zhí)行線程建構(gòu)單元140從內(nèi)存控制器接收到信息后,判斷是否空間配置成功(步驟S431)。當(dāng)空間配置成功(步驟S431中“是”的路徑)則將此像素信息打包至設(shè)定著色器執(zhí)行線程(步驟S433),否則(步驟S431中“否”的路徑)判斷是否請(qǐng)求逾時(shí)(步驟S435)。當(dāng)請(qǐng)求逾時(shí)(步驟S435中“是”的路徑)則執(zhí)行設(shè)定著色器執(zhí)行線程,否則(步驟S435中“否”的路徑)繼續(xù)請(qǐng)求共享內(nèi)存130配置空間(步驟S415)。接著,當(dāng)不存在更多的像素信息(步驟S451中“是”的路徑)或取得的像素信息已經(jīng)達(dá)到特定數(shù)目時(shí)(步驟S453中“是”的路徑),則結(jié)束設(shè)定著色器執(zhí)行線程建構(gòu)單元140(步驟S455)以及執(zhí)行設(shè)定著色器執(zhí)行線程。當(dāng)存在更多的像素信息(步驟S451中“否”的路徑)以及取得的像素信息尚未達(dá)到特定數(shù)目時(shí)(步驟S453中“否”的路徑),從像素緩存器110取得下一個(gè)像素的信息(步驟S411)。設(shè)定著色器執(zhí)行線程執(zhí)行時(shí),可將特定數(shù)目的像素信息輸出至流處理器120進(jìn)行并行計(jì)算,并且將相應(yīng)于每個(gè)像素信息的運(yùn)算結(jié)果儲(chǔ)存至配置的共享內(nèi)存130。
      [0021]圖5是依據(jù)本發(fā)明實(shí)施例的三維圖形管道中的可程序化像素設(shè)定方法流程圖。接續(xù)圖3,結(jié)束設(shè)定著色器執(zhí)行線程后(步驟S333),編譯器通知可視范圍裁切著色器執(zhí)行線程建構(gòu)單元150,用以產(chǎn)生可視范圍裁切著色器執(zhí)行線程(步驟S511)??梢暦秶们兄鲌?zhí)行線程建構(gòu)單元150可使用特定電路實(shí)施,較固定函數(shù)模塊花費(fèi)較少的閘數(shù)成本。設(shè)定著色器執(zhí)行線程建構(gòu)單元150或可使用軟件實(shí)施,以及當(dāng)流處理器120加載并執(zhí)行所需的程序代碼時(shí)產(chǎn)生設(shè)定著色器執(zhí)行線程??梢暦秶们兄鲌?zhí)行線程于執(zhí)行時(shí),實(shí)現(xiàn)像素裁切功能,包含如下所述的步驟。為每一個(gè)需要裁切的像素,分割成一或多個(gè)落入顯示畫面的像素,例如將一個(gè)三角形分割成落入顯示畫面的多個(gè)小三角形,并儲(chǔ)存至可視范圍像素緩存器170 (步驟S513)。接著,結(jié)束可視范圍裁切著色器執(zhí)行線程(步驟S515)。
      [0022]參考圖5中的步驟S511。圖6是依據(jù)本發(fā)明實(shí)施例的產(chǎn)生可視范圍裁切著色器執(zhí)行線程的方法流程圖。可視范圍裁切著色器執(zhí)行線程建構(gòu)單元150周期性地執(zhí)行一個(gè)循環(huán),用以從像素緩存器110取得一個(gè)像素的信息(步驟S611),讀取瑣碎拒絕掩碼的內(nèi)容(步驟S613),并根據(jù)瑣碎拒絕掩碼中相應(yīng)的位值判斷此像素是否需要進(jìn)行瑣碎拒絕(步驟S631)。若是,則根據(jù)像素信息判斷此像素是否需要進(jìn)行可視范圍裁切(步驟S633);否則,產(chǎn)生可視范圍裁切執(zhí)行線程(步驟S651),以及執(zhí)行可視范圍裁切執(zhí)行線程(步驟S653)。當(dāng)可視范圍裁切執(zhí)行線程執(zhí)行時(shí),將此像素分割成一或多個(gè)落入顯示畫面的小像素,并且儲(chǔ)存至可視范圍像素緩存器170。當(dāng)以上二個(gè)判斷中之任一者為否時(shí)(步驟S631中“否”的路徑或步驟S633中“否”的路徑),判斷取得的像素信息是否已經(jīng)達(dá)到特定數(shù)目(步驟S655) ο若是,則從像素緩存器110取得下一個(gè)像素的信息(步驟S611)。
      [0023]圖7是依據(jù)本發(fā)明實(shí)施例的三維圖形管道中的可程序化像素設(shè)定方法流程圖。接續(xù)圖3,產(chǎn)生參數(shù)后(步驟S339),編譯器通知屬性著色器執(zhí)行線程建構(gòu)單元(ASTC, Attribute Shader Thread Constructor) 150,用以產(chǎn)生屬性著色器執(zhí)行線程(Attribute Shader Thread)(步驟 S711),并且將變量 “attr” 設(shè)為 O (步驟 S713)。接著,反復(fù)執(zhí)行一個(gè)循環(huán)(步驟S731至S735),直到變數(shù)“attr”大于或等于屬性總數(shù)(步驟S731中“是”的路徑)。于每一回合中,
      當(dāng)前第2頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1