• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 11  文章 - 0  trackbacks - 0
            <2010年2月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28123456
            78910111213

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            相冊(cè)

            關(guān)注

            網(wǎng)站

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            1.CPU在運(yùn)行程序時(shí)可以通過(guò)鍵盤(pán)鼠標(biāo)來(lái)輸入數(shù)據(jù),程序運(yùn)行的結(jié)果可以顯示在屏幕上也可以轉(zhuǎn)換成文字或二進(jìn)制數(shù)據(jù)存儲(chǔ)在硬盤(pán)上。 Vertex Shader和Pixel Shader也是一段可以運(yùn)行的程序,Shader是交由顯示芯片GPU來(lái)運(yùn)行的,它的數(shù)據(jù)源是由CPU準(zhǔn)備好后再傳給Shader。Shader運(yùn)行結(jié)果直接顯示在畫(huà)面上。
            2.Shader屬于被動(dòng)程序,我們要先通過(guò)CPU把Shader加載到GPU中,再調(diào)用DrawPrimitive或DrawIndexedPrimitive之類的函數(shù)來(lái)畫(huà)圖,這時(shí)GPU才會(huì)運(yùn)行Shader。DrawPrimitive畫(huà)完模型后,Shader程序也會(huì)停止。所以大部分的Shader生命周期很短,其壽命完全取決與繪圖所花費(fèi)的時(shí)間。
            3.Shader所能讀寫(xiě)的內(nèi)存范圍是有限制的。通過(guò)CPU運(yùn)行的程序可以自由的向系統(tǒng)申請(qǐng)內(nèi)存。Shader不能主動(dòng)去分配內(nèi)存,它能操作的內(nèi)存都是預(yù)先通過(guò)CPU分配好的,并且分為只讀和只寫(xiě)兩部分。存放頂點(diǎn)的頂點(diǎn)數(shù)據(jù)區(qū)Vertex Buffer和繪圖時(shí)所使用的貼圖Texture,屬于Shader的只讀存儲(chǔ)器,Shader只能從中讀取數(shù)據(jù),不能寫(xiě)入數(shù)據(jù)。Framebuffer畫(huà)面是Shader的只寫(xiě)內(nèi)存,Shader可以把運(yùn)行結(jié)果存儲(chǔ)在Framebuffer中,但不能去讀Framebuffer中的數(shù)據(jù)。
            4.Shader無(wú)法隨機(jī)存取內(nèi)存。Vertex Shader 只能讀取它所分配到該去處理的單一頂點(diǎn)數(shù)據(jù),不能任意獲得其他頂點(diǎn)的信息。Pixel Shader 在輸出顏色時(shí),不能隨意選擇把顏色填入Framebuffer的任意個(gè)像素上。GPU在填充某個(gè)像素A時(shí),會(huì)對(duì)像素A運(yùn)行目前所使用的Pixel Shader,這個(gè)時(shí)候Pixel Shader只能固定更新A點(diǎn)的值,不能更新其他的像素。
            5.Shader唯一能比較自由的讀取內(nèi)存內(nèi)容的是貼圖。Shader可以通過(guò)不同的貼圖坐標(biāo)來(lái)讀取圖片上的不同像素。編寫(xiě)Shader時(shí)可以把2D貼圖視為二維數(shù)組,把貼圖坐標(biāo)視為二維數(shù)組的索引。
            6.GPU在運(yùn)行Shader時(shí)沒(méi)有暫存內(nèi)存可以使用,編寫(xiě)C++程序時(shí),函數(shù)中的局部變量或用到得臨時(shí)內(nèi)存存放在Stack堆棧內(nèi)存中。GPU沒(méi)有Stack,Shader所聲明的變量及用到的臨時(shí)變量都放在GPU芯片上的某個(gè)寄存器中。(使用寄存器的速度比Stack內(nèi)存速度快好幾倍,但使用的變量的數(shù)量有限制)
            ----摘自《3D繪圖程序設(shè)計(jì)》
            posted on 2010-02-26 16:41 郭小帥 閱讀(723) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Shader
            久久久亚洲AV波多野结衣| 色欲综合久久躁天天躁蜜桃| 久久最新精品国产| 国产精品成人精品久久久| 久久精品这里只有精99品| 久久婷婷五月综合色奶水99啪| 色偷偷88888欧美精品久久久| 精品少妇人妻av无码久久| 久久精品国产精品亚洲艾草网美妙| 中文字幕无码av激情不卡久久| 亚洲中文字幕久久精品无码喷水| 久久精品国产影库免费看| 伊人久久大香线蕉AV一区二区| 国产精品美女久久久久久2018| 久久国产精品免费一区二区三区| 欧美亚洲国产精品久久| 99国产精品久久| 久久精品久久久久观看99水蜜桃| 国产一区二区三区久久精品| 国产亚洲精品久久久久秋霞| 久久综合色之久久综合| 久久久国产精品网站| 久久婷婷国产综合精品| 久久久久久精品久久久久| 91精品国产综合久久四虎久久无码一级| 成人午夜精品无码区久久| 日韩亚洲国产综合久久久| 狠狠人妻久久久久久综合蜜桃| 无码人妻久久一区二区三区免费 | 久久99国产精品99久久 | 亚洲中文字幕无码久久2020| 精品无码久久久久久久动漫| 国产精品久久亚洲不卡动漫| 亚洲国产精品一区二区久久hs| 亚洲欧美另类日本久久国产真实乱对白| 日本道色综合久久影院| 一级做a爰片久久毛片16| 国产成人精品久久亚洲高清不卡| 99久久精品日本一区二区免费| 久久精品国产亚洲精品2020| 日韩精品无码久久久久久|