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

            天行健 君子當自強而不息

            DXUT框架剖析

            DXUT框架剖析(14)      摘要: 控件是用戶接口的重要組成部分,為了便于用戶操作,為程序界面添加各種控件是非常好的方法。DXUT框架為在Direct3D程序中添加各種控件提供了支持。為了便于加載控件和處理各控件的消息,通常先在窗口中加載對話框,然后在對話框中添加響應的控件,由對話框來管理控件。為了統一管理各個對話框,還需要定義對話框資源管理器類CDXUTDialogResourceManager的一個對象,在程序開始時,調用各個對話框的Init函數和對話框資源管理對象進行初始化  
             
            DXUT框架剖析(13)      摘要: DXUT框架對文本繪制進行了封裝,提供了類CDXUTHelper來簡化文本顯示,使用該接口大體分為3個步驟:初始化ID3DXSprite和ID3DXFont對象,顯示文本,釋放ID3DXSprite和ID3DXFont對象。  
             
            DXUT框架剖析(12)      摘要: DXUT暫停函數:

            DXUTPause:將框架的內部計數器和(或)渲染過程設為暫停狀態。
            DXUTRenderingPaused:檢查當前設備的渲染狀態是否處在暫停狀態。
            DXUTIsTimePaused:檢查當前設備的計時器是否處在暫停狀態。  
             
            DXUT框架剖析(11)      摘要: DXUT統計函數:

            DXUTGetFPS: 獲取當前每秒提交的幀數。
            DXUTGetFrameStats:獲取一個指向字符串的指針,該字符串包括每秒幀數、分辨率、后臺緩沖區格式、深度緩沖區格式。
            DXUTGetDeviceStats:獲取一個指向字符串的指針,該字符串包括當前設備類型、頂點運算行為和設備名。 
             
            DXUT框架剖析(10)      摘要: 管理DXUT框架的函數:

            DXUTResetFrameworkState: 將框架狀態重置為初始默認狀態,之前設置的框架狀態改變將失效。
            DXUTShutdown: 觸發程序終止和清空框架。
            DXUTGetExitCode: 獲取框架的退出代碼。  
             
            DXUT框架剖析(9)      摘要: 下面列出允許改變DXUT行為和獲取內部變量的函數,這些函數在使用DXUT框架的Direct3D程序中是非常實用的。  
             
            DXUT框架剖析(8)      摘要: Direct3D API的設計使程序能比較容易地處理各種錯誤,盡管大多數Direct3D API函數返回HTRSULT值,但只有一部分函數返回設備錯誤,如D3DERR_DEVICELOST或 D3DERR_DRIVERINTERNALERROR。但是通常的Direct3D應用程序使用多種API函數,當傳遞的參數不合要求時,將返回 D3DERR_INVALIDCALL。

            當開發Direct3D應用程序時,應該檢查所有的API調用是否成功,如果出現一個沒有預測到的失敗調用,應用程序應立即給出通知或記錄該錯誤。使用這種方法,開發人員能很快發現哪些API函數的調用是不正確的。一個正確調用Direct3D API函數的應用程序應能安全地忽略大多數Direct3D API函數的失敗調用,除了一些關鍵性的API函數,如Present()或TestCooperativeLevel(),這些函數返回的錯誤應用程序不能忽略。  
             
            DXUT框架剖析(7)      摘要: 框架也提供了幀事件,它在渲染過程中的每一幀被調用,應用程序應該注冊并實現這些回調函數。  
             
            DXUT框架剖析(6)      摘要: 在窗口和設備創建好之后,應用程序需要使用消息循環處理窗口消息、更新和渲染場景、處理設備事件。應用程序可以實現自己的消息循環,也可以使用DXUT消息循環,注冊相應的回調函數,可以讓DXUT處理設備、幀消息事件。

            為使用DXUT框架的消息循環,可以調用DXUTMainLoop()函數. 
             
            DXUT框架剖析(5)      摘要: 應用程序可以通過DXUTSetCallbackDeviceChanging()設置回調函數來修改Direct3D設備的創建設置。

            回調函數ModifyDeviceSettings()返回一個布爾值,如果應用程序返回 TRUE,DXUT框架繼續像在正常情況下那樣進行設備創建。如果返回FALSE,框架不能改變設備,如果已有一個設備,則繼續使用當前設備。如果框架提出的請求是改變到一個應用程序不能使用的設備,應用程序可以拒絕該請求。例如,在一個多顯示器配置中,默認情況下在顯示器之間拖動窗口將使框架改變設備。但如果應用程序不能使用其他設備,它就必須拒絕這種改變并繼續使用當前設備。 
             
            DXUT框架剖析(4)      摘要: 通常可以用標準的Direct3D方法CreateDevice()創建一個Direct3D設備,這個方法需要一個有效的顯示適配器、設備類型(硬件抽象層設備或參考設備)、窗口句柄、運行標志(軟件/硬件頂點運算模式和其他驅動標志)和提交參數。更重要的是,結構體 D3DPRESENT_PARAMETERS有許多成員指定了后臺緩沖區的設置、多重采樣設置、交換效果、窗口模式、深度緩沖區設置、刷新頻率、提交間隔和提交標志等。

            為所有的參數選擇合適的設置是比較繁瑣的,DXUT框架使用函數DXUTCreateDevice()簡化了Direct3D設備的創建。  
             
            DXUT框架剖析(3)      摘要: 使用DXUT框架之前,首先需要初始化DXUT,初始化DXUT可以通過函數DXUTInit()完成。

            通常在WinMain()函數中調用DXUTInit()函數進行DXUT初始化工作,如果程序員沒有調用DXUTInit()函數,則DXUT框架會自動使用默認參數調用該函數。  
             
            DXUT框架剖析(2)      摘要: DXUT框架提供了下列服務,幫助程序員創建一個應用程序:

            (1)簡化窗口和設備的創建。

            (2)聲明設備事件(創建、重置、丟失、銷毀)和窗口事件(消息、鍵盤、鼠標)。

            (3)在窗口模式和全屏模式間切換,在硬件抽象層設備和參考設備間切換。

            (4)高分辨率計時器。

            (5)為自動測試提供命令行支持。

            (6)通過對話框或API選擇設備。

            (7)紋理GUI控件組,包括IME-enable文本框。

            (8)附加雜類,例如簡單的攝像機類。  
             
            DXUT框架剖析(1)      摘要: DXUT(也稱sample framework)是建立在Direct3D API之上的Direct3D應用程序框架,有了DXUT這樣一個Direct3D程序框架,只需在這個框架的基礎上編寫相應的代碼,從而簡化了 windows和Direct3D API的使用,可以高效地進行Direct3D程序設計。  

            posted on 2008-05-19 14:33 lovedday 閱讀(5497) 評論(0)  編輯 收藏 引用 所屬分類: ■ DXUT Research

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            亚洲人成电影网站久久| 人人狠狠综合久久亚洲88| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久午夜无码鲁丝片| 久久777国产线看观看精品| 97久久精品人人澡人人爽| 婷婷久久综合| 久久国产精品久久久| 综合久久一区二区三区 | 亚洲午夜福利精品久久| 久久精品国产99久久久| 国内精品久久久久久久影视麻豆| 免费精品久久天干天干| 国产高清国内精品福利99久久| 久久亚洲精品无码aⅴ大香 | 久久综合狠狠综合久久| 久久久WWW成人免费精品| 久久精品www人人爽人人| 模特私拍国产精品久久| 2020久久精品国产免费| 亚洲va国产va天堂va久久| 免费一级欧美大片久久网| 久久精品国产99国产精偷 | 性色欲网站人妻丰满中文久久不卡| 久久精品国内一区二区三区| 亚洲精品乱码久久久久久中文字幕| 国产精自产拍久久久久久蜜| 99久久无码一区人妻a黑| 少妇精品久久久一区二区三区| 伊人久久大香线蕉无码麻豆| 久久丝袜精品中文字幕| 久久国产午夜精品一区二区三区| 一级做a爰片久久毛片人呢| 久久九九精品99国产精品| 久久精品aⅴ无码中文字字幕不卡| 2021国产精品久久精品| 精品国产青草久久久久福利| 久久婷婷五月综合色奶水99啪 | 久久精品综合一区二区三区| 99久久婷婷国产一区二区| 国产精品美女久久久久av爽|