• <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>

            黎明的剔透里伸出了你沁清的曖昧

            Graphics|EngineDev|GameDev|2D&3D Art

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              60 隨筆 :: 1 文章 :: 18 評(píng)論 :: 0 Trackbacks

            The vertex shader processes incoming data from the client, applying transformations, or doing other types of math to calculate lighting effects, displacement, color values, and so on. To render a triangle with three vertices, the vertex shader is executed three times, once for each vertex. On today’s hardware, there are multiple execution units running simulta-neously, which means all three vertices are processed simultaneously. Graphics processors today are massively parallel computers. Don’t be fooled by clock speed when comparing them to CPUs. They are orders of magnitude faster at graphics operations.
            頂點(diǎn)處理器負(fù)責(zé)運(yùn)行頂點(diǎn)著色器。頂點(diǎn)著色器的輸入為頂點(diǎn)數(shù)據(jù),也就是它的位置、顏色和法線等,這取決于OpenGL應(yīng)用程序的發(fā)送。

            下面的OpenGL代碼為每個(gè)頂點(diǎn)向頂點(diǎn)處理器發(fā)送了一個(gè)顏色和一個(gè)頂點(diǎn)位置信息。

            1 glBegin ();  
            2     glColor3f (0.2,0.4,0.6);  
            3     glVertex3f (-1.0,1.0,2.0);  
            4     glColor3f (0.2,0.4,0.8);  
            5     glVertex3f (1.0,-1.0,2.0);  
            6 glEnd (); 

             

            在一個(gè)頂點(diǎn)著色器中,你可以編寫代碼用于完成如下任務(wù):

            • 使用模型視圖和投影矩陣進(jìn)行頂點(diǎn)位置變換
            • 法線變換,如果需要,還有法線的標(biāo)準(zhǔn)化
            • 紋理坐標(biāo)生成和變換
            • 每個(gè)頂點(diǎn)的光照或?yàn)槊總€(gè)像素計(jì)算光照值
            • 顏色計(jì)算

            并沒有要求你的著色器執(zhí)行上面的所有操作,例如你的應(yīng)用程序可能不使用光照。盡管如此,一旦你編寫了一個(gè)頂點(diǎn)著色器并且用于替換頂點(diǎn)處理器的全部功能,那么你就不能執(zhí)行法線變換,不能期望固定功能執(zhí)行紋理坐標(biāo)生成。當(dāng)使用頂點(diǎn)著色器后,那么它負(fù)責(zé)管線中本階段的所有功能。

            在前一小節(jié),我們了解到頂點(diǎn)處理器并沒有關(guān)于頂點(diǎn)的連接信息,因?yàn)樾枰負(fù)湫畔⒌牟僮鞑荒茉陧旤c(diǎn)著色器中進(jìn)行。例如頂點(diǎn)著色器不可能執(zhí)行背面剔除操作,因?yàn)轫旤c(diǎn)處理器處理的是頂點(diǎn)而不是面。頂點(diǎn)處理器孤立地處理每個(gè)頂點(diǎn),處理每個(gè)頂點(diǎn)時(shí),并不需要其他頂點(diǎn)的信息。

            頂點(diǎn)著色器至少負(fù)責(zé)寫一個(gè)變量:gl_Position,通常是使用模型視圖和投影矩陣變換頂點(diǎn)。

            頂點(diǎn)著色器能夠訪問OpenGL狀態(tài),因此它能夠執(zhí)行光照,使用材料等操作。它還能夠訪問紋理(只在最新的硬件上可用)。但是它不能夠訪問幀緩沖區(qū)。


            散射光照:散射光照方程:Cdiff=   max{N•L,0}*Cmat*Cli

            posted on 2011-11-18 20:09 情絕格調(diào)(fresmaster) 閱讀(373) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Graphics
            午夜精品久久久久9999高清| 久久久久亚洲精品天堂| 亚洲va久久久噜噜噜久久狠狠| 久久无码AV中文出轨人妻| 综合久久精品色| 无码日韩人妻精品久久蜜桃 | 久久久久久亚洲精品无码| 亚洲国产精品一区二区三区久久 | 久久精品水蜜桃av综合天堂| 18岁日韩内射颜射午夜久久成人| 精品国产乱码久久久久久人妻 | 久久久久亚洲爆乳少妇无| 97久久婷婷五月综合色d啪蜜芽| 女人高潮久久久叫人喷水| 久久国产色AV免费观看| 久久九九精品99国产精品| 久久ww精品w免费人成| 久久91精品久久91综合| 久久狠狠爱亚洲综合影院| 午夜不卡久久精品无码免费| 久久被窝电影亚洲爽爽爽| 色综合合久久天天综合绕视看| 精品熟女少妇AV免费久久| 久久亚洲精品成人AV| 亚洲一级Av无码毛片久久精品| 日本五月天婷久久网站| 99久久精品日本一区二区免费| 国产精品成人久久久| 久久综合给久久狠狠97色| 国产真实乱对白精彩久久| 97久久综合精品久久久综合| 久久大香萑太香蕉av| 国产午夜免费高清久久影院| 久久久精品国产亚洲成人满18免费网站 | 国产成人综合久久精品红| 狠狠色丁香久久婷婷综| 无码国内精品久久综合88| 国产高清美女一级a毛片久久w| 国产成人综合久久综合| 亚洲精品tv久久久久| 精品久久久久久中文字幕|