• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Direct3D9初級教程

    發表于:2007-07-01來源:作者:點擊數: 標簽:
    前言: 這篇教程是為初學者準備的,只要會簡單的VC++編程以及一點立體幾何的基礎知識即可。通過它,可以了解到Direct3D的基本概念,學會繪制簡單的幾何圖形,并掌握光源、材質和紋理的基本用法。 3D繪圖的實質就是在二維計算機屏幕上創建三維幻覺,為此要用

    前言:

           這篇教程是為初學者準備的,只要會簡單的VC++編程以及一點立體幾何的基礎知識即可。通過它,可以了解到Direct3D的基本概念,學會繪制簡單的幾何圖形,并掌握光源、材質和紋理的基本用法。

           3D繪圖的實質就是在二維計算機屏幕上創建三維幻覺,為此要用到一些數學變換來建模和處理幾何圖形。我將盡可能用通俗易懂的語言來解釋這些變換及其用法,避免涉及復雜的數學知識。

    1 開發環境

           本文選用VC++ 6.0做語言環境,建議安裝Service Pack5補丁包。為了創建Direct3D程序,需要從微軟網站下載安裝DirectX SDK,我用的是最新的9.0版,大概200多兆,網址 。安裝完SDK后,開發環境就搭建好了。當然,要運行編譯好的程序,DirectX9是必不可少的(微軟已經在SDK中包含了DirectX9的安裝文件)。

           DirectX9 SDK為VC用戶提供了一個程序向導,可以很方便地生成“空”的Direct3D程序。不過為了便于讀者掌握Direct3D編程的基礎知識,本文將以MFC單文檔程序(SDI)為框架,在其上添加Direct3D繪圖功能。

    2 使用COM組件

           DirectX的功能都是以COM組件的形式提供的。COM是組件對象模型(Component Object Model)的簡寫,它是一種協議,用來實現軟件模塊間的二進制連接。當這種連接建立后,兩個模塊之間就可以通過稱為“接口(Interface)”的機制來通信。我們常用的ActiveX控件就是一種COM組件。

           COM的實現細節相當復雜,完全可以寫一本厚厚的專著。不過別擔心,微軟已經為我們最大限度地簡化了COM的使用,即便你對COM一竅不通也沒關系。作為Direct3D開發人員,只要了解接口及其用法就行了:所謂接口,其實就是一組特殊的C++對象,應用程序通過調用這些對象的成員函數,來訪問COM組件,實現組件的功能。在COM術語中,這些成員函數被稱作方法(Method)。雖然稱呼變了,但其調用語法與普通的C++對象相比,并無二致。接口的特殊性在于它的生成和銷毀都由系統完成,無須用戶干預。

           在Direct3D編程中,我們要做的工作基本上可以歸納為:

             調用適當的函數獲取接口指針;

             調用接口的方法(成員函數)來完成所需功能;

             用完接口后,調用Release方法進行“釋放”,注意釋放順序應該和獲取它們的順序相反。

    3 第一個程序-初始化Direct3D

           3.1 創建程序框架

           3.2 初始化Direct3D

           3.3 渲染

           3.4 釋放接口

    4 畫一個三角形

           4.1 一些數學概念

           4.2 畫一個三角形

    5 畫一個三棱錐-索引緩存和Z緩存

          5.1 什么是索引緩存

          5.2 創建索引緩存

          5.3 渲染索引緩存

          5.4 打開Z緩存

    6 畫一個圓錐-燈光和材質

          6.1基本概念

          6.2 燈光

          6.3 材質

          6.4 畫一個圓錐

         6.5高洛德著色和平面著色

    7 為圓錐添加紋理

         7.1 基本概念

         7.2 創建紋理

         7.3 用紋理渲染

    8 Mesh模型

         8.1 什么是Mesh模型

         8.2 繪制Mesh模型

    9 顯示文本

    10 Direct3D中的2D

    11 Direct3D的程序結構

     

    請注意:

    因為原文章使用PDF格式編寫,

    且文章比較長,插圖多,

    不太容易轉貼,

    感興趣的同志請從下列地址下載全文,

     


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>