• <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 閱讀(5488) 評論(0)  編輯 收藏 引用 所屬分類: ■ DXUT Research

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            亚洲AV乱码久久精品蜜桃| 国产精品对白刺激久久久| 国产精品久久久久久| 国产激情久久久久影院小草| 日产久久强奸免费的看| 亚洲中文字幕无码久久精品1 | 欧洲人妻丰满av无码久久不卡| 久久se精品一区二区| 2019久久久高清456| 国内精品久久久久久久coent| 久久人与动人物a级毛片| 久久人妻少妇嫩草AV无码蜜桃| 99久久国产精品免费一区二区| 浪潮AV色综合久久天堂| 美女写真久久影院| 亚洲av伊人久久综合密臀性色| 精品久久久噜噜噜久久久| 99久久婷婷国产综合精品草原 | 日韩乱码人妻无码中文字幕久久| 久久偷看各类wc女厕嘘嘘| 很黄很污的网站久久mimi色| 久久亚洲sm情趣捆绑调教| 中文字幕亚洲综合久久2| 亚洲国产精品无码久久久蜜芽| 成人午夜精品久久久久久久小说| 97久久婷婷五月综合色d啪蜜芽| 国产精品99久久久久久董美香| 精品一二三区久久aaa片| 日本免费久久久久久久网站| 亚洲色婷婷综合久久| 久久亚洲高清综合| 韩国三级中文字幕hd久久精品| 国产亚洲美女精品久久久久狼| 久久精品国产亚洲av麻豆图片| 久久综合给合综合久久| 亚洲精品高清久久| 久久精品国产精品国产精品污| 久久免费的精品国产V∧| 免费精品99久久国产综合精品| 久久天天躁夜夜躁狠狠躁2022| 性做久久久久久久久久久|