中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 综合文章
Direct3D9初级教程
作者:未知 时间:2003-07-17 12:12 出处:Blog 责编:chinaitpower
              摘要:Direct3D9初级教程

前言:

       这篇教程是为初学者准备的,只要会简单的VC++编程以及一点立体几何的基础知识即可。通过它,可以了解到Direct3D的基本概念,学会绘制简单的几何图形,并掌握光源、材质和纹理的基本用法。

       3D绘图的实质就是在二维计算机屏幕上创建三维幻觉,为此要用到一些数学变换来建模和处理几何图形。我将尽可能用通俗易懂的语言来解释这些变换及其用法,避免涉及复杂的数学知识。

1 开发环境

       本文选用VC++ 6.0做语言环境,建议安装Service Pack5补丁包。为了创建Direct3D程序,需要从微软网站下载安装DirectX SDK,我用的是最新的9.0版,大概200多兆,网址 http://www.microsoft.com/downloads/ 。安装完SDK后,开发环境就搭建好了。当然,要运行编译好的程序,DirectX9是必不可少的(微软已经在SDK中包含了DirectX9的安装文件)。

       DirectX9 SDKVC用户提供了一个程序向导,可以很方便地生成“空”的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://image.chinaitpower.com/files/20030717/10053.zip

 

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有