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

            李錦俊(mybios)的blog

            游戲開發 C++ Cocos2d-x OpenGL DirectX 數學 計算機圖形學 SQL Server

              C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
              86 Posts :: 0 Stories :: 370 Comments :: 0 Trackbacks

            公告

            QQ:30743734
            EMain:mybios@qq.com

            常用鏈接

            留言簿(16)

            我參與的團隊

            最新隨筆

            搜索

            •  

            積分與排名

            • 積分 - 370231
            • 排名 - 67

            最新評論

            閱讀排行榜

            評論排行榜

            引用
            Direct3D10特性預覽
            將我在GameResBlog的老文章重新貼回來,發現寫的還是很有味道,嘿嘿~~
            ?
            剛拿到DirectX?Dec2005?SDK,發現竟然有D3D10的文檔和例子,速研究了一下,以下只是個人的讀書筆記,僅作參考

            1.去掉了固定管線
            文檔里列出了用DX10特性模擬的一些固定管線的操作,MS那么大度把DX都開源了(^O^)。

            2.去掉了以前版本DX的設備能力檢查(CAPS)
            為DX10和Windows?Vista提供的顯示硬件必須滿足DX10的所有硬件特性。這樣對于開發者就比較可以放心的使用各種硬件特性了,很類似Console平臺
            的開發。

            3.狀態對象(State?Object)
            "從100多個渲染狀態中解脫出來吧!"
            D3D10對渲染狀態這個概念進行淡化,一方面使用全Shader化的架構使得狀態的前后設置和互相影響對渲染成功率降低到最少
            另外對API架構也更為簡潔,另一方面對一些關鍵渲染狀態進行封裝和分類。主要分類有:

            Input?Layout?Object?輸入層對象
            這個東西很類似D3D9里的頂點聲明,也就是對用戶輸入數據進行整合和系統化

            Rasterizer?Object?光柵化對象
            這部分主要控制光柵器的行為:填充模式(FILL_MODE),剔除模式(CULL_MODE),多采樣,DepthBias等等

            DepthStencil?Object?深度緩沖對象
            主要控制深度緩沖的行為,像Z-buffer?Enable之類的

            Blend?Object?混合對象
            設置象素混合的方法,類似AlphaBlend?SrcAlpha?,DestAlpha等等

            Sampler?Object?采樣器對象
            設置紋理采樣狀態,包括過濾器和MipMap

            4.新的資源訪問模式和資源視圖(View)概念
            如果對比D3D9的Shader使用代碼和D3D10的類似代碼會發現一個不同。
            D3D9?Shader需要對紋理進行操作時,需要將紋理設置到Shader就可以了,而D3D10里沒有那么簡單,設置前必須將
            各種資源整合后為資源創建一個視圖,再提交給Shader訪問。這種操作在環境貼圖里是很有好處的。對于CubeMap的6張紋理
            就可以采用一個視圖設置到設備,而自己要訪問每張貼圖只要輕松訪問視圖就可以了,也就是說把資源規整和集成化。

            5.新的可編程圖形層(Stage)-幾何Shader(Geometry?Shader)
            原來的VS和PS只是對逐個頂點或象素進行處理,而新的GS可以對每個頂點或象素的臨近頂點設置Shader。也就是可以對批量幾何進行處理
            GS的用途有:
            點精靈
            動態粒子系統
            皮毛系統
            卷積陰影
            單Pass渲染到球形貼圖
            逐多邊形材質交換
            逐多邊形材質設置

            6.設備的創建要求對ViewPort進行設置
            D3D9里無需對ViewPort進行設置就可以進行渲染,而且默認的RenderTarget就是后備緩沖
            而在D3D10里,這個過程變得更為自主化。取出后備緩沖的格式,將RenderTarget設置為屏幕
            這讓人感到D3D10設計更趨向于成熟的引擎設計。

            7.流輸出層(Stream?Output?State)
            這個層的功能是將VS和GS處理完成的數據輸出給用戶,由用戶進行處理后再反饋給管線繼續處理

            8.多邊形拓撲結構從繪制代碼分離
            現在可以單獨設置拓撲結構
            g_pd3dDevice->IASetPrimitiveTopology(?D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST?);
            和使用Draw函數繪制了,很類似OpenGL


            9.嚴格的設備對象創建時間驗證
            這里的設備對象就是從設備創建出來的資源。為了減少CPU占用,D3D10重新設計了硬件資源調用調度,所有的設備對象都用面向對象的方法被設備
            管理。這種設計方法避免了在渲染期的資源創建操作。

            10.去掉BeginScene和EndScene
            這個對于圖形API確實多余


            Dec2005?sdk里提供的文檔讓人很快想到這只是一個過渡版本
            在DXUT的Mesh.Create函數中可以看到一個很有趣的現象:
            創建D3D9對象,使用D3DX9里的載入X模型文件的函數載入X文件
            將D3D9的模型數據轉成D3D10的類型。這樣做無非是在告訴我們一個
            這樣的信息,D3D10很有可能提供一種新的模型格式來作為研究使用
            。Vista的圖形系統Avalon從一些視頻上分析,使用了大量的XML,所以
            新的模型格式很有可能使用XML,并且X格式的解析接口確實不方便。而
            XML的分析器可以由第三方提供。使得更多的研究人員能更方便的使用
            這種新格式。

            順便提供一些縮寫對應的含義,這些在一些函數前綴會出現
            IA-Input?Assembler?State
            SO-Stream?Output?State
            OM-Output?Merger?State
            VS-Vertex?Shader
            PS-Pixel?Shader
            GS-Geometry?Shader

            Powered?by?Davy.xu
            msn:sunicdavy@sina.com

            posted on 2006-11-18 09:14 李錦俊(mybios) 閱讀(1655) 評論(0)  編輯 收藏 引用 所屬分類: Direct3D
            色悠久久久久久久综合网| 伊人久久久AV老熟妇色| 伊人久久大香线蕉亚洲 | 精品久久久久久亚洲| 久久久久亚洲精品日久生情| 精品久久久久一区二区三区| 亚洲狠狠综合久久| 色综合久久综合网观看| 国产99久久久久久免费看 | 亚洲国产成人久久笫一页| 国产精品成人精品久久久| 久久国产一区二区| 久久精品国产精品青草| 国产一级持黄大片99久久| 亚洲精品高清久久| 久久影院久久香蕉国产线看观看| 久久精品国产欧美日韩| 7777精品伊人久久久大香线蕉 | 热re99久久精品国产99热| 91性高湖久久久久| 欧美成a人片免费看久久| 久久久久久精品成人免费图片| 国产精品中文久久久久久久| 久久婷婷五月综合97色一本一本| 91亚洲国产成人久久精品| 无码精品久久一区二区三区 | 97久久精品无码一区二区 | 久久久精品国产亚洲成人满18免费网站 | 国产精品国色综合久久| 99久久精品免费看国产一区二区三区| 精品国产乱码久久久久久浪潮| 亚洲精品国产第一综合99久久| 欧美熟妇另类久久久久久不卡 | 精品久久久久久中文字幕| 一本一道久久a久久精品综合| 91久久精品91久久性色| 合区精品久久久中文字幕一区 | 成人a毛片久久免费播放| 99久久国产综合精品女同图片| 91精品国产色综久久| 久久无码专区国产精品发布|