Direct3D9初级教程

2016-02-19 17:12 31 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Direct3D9初级教程,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

  前言:

  这篇教程是为初学者准备的,只要会简单的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 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 画一个三角形

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  4.1 一些数学概念

  4.2 画一个三角形

  5 画一个三棱锥-索引缓存和Z缓存

  5.1 什么是索引缓存

  5.2 创建索引缓存

  5.3 渲染索引缓存

  5.4 打开Z缓存

  6 画一个圆锥-灯光和材质

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

  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格式编写,且文章比较长,插图多,不太容易转贴,感兴趣的同志请从下列地址下载全文

本文示例代码或素材下载

来源:https://www.tulaoshi.com/n/20160219/1614507.html

延伸阅读
标签: flash教程
本文由 中国 txwh2006(踏雪无痕) 原创,转载请保留此信息! 下面我用二种形式发表: 第一种:swf格式 [友情提示] 看不到动画效果的朋友请去这里观看:http://bbs.jcwcn.com/viewthread.php?tid=129792 [next] 第二种:图文 现在网上流行swf格式的电子书教程,其最大的优点就是使编制者方便...
标签: PS PS教程
PS自带的滤镜是很神奇的一个工具,灵活运用会创造出意想不到的效果,本例继续向朋友们介绍利用滤镜制作星光闪烁文字效果 1,建立一个300*150的文件,黑色背景。 2,用文字工具写字,字体颜色为白色   3,将文字层“栅格化”,与背景层合并。 4,执行“滤镜”--“风格化”--“风”。默认设置。   5,旋转画布“顺时...
哈他瑜伽初级教程视频 Hatha一词的梵文本意是日月。日并不是狭义地指太阳;月也不是狭义地指月亮。这儿“日月”的意思相当于我国的一个哲学概念:阴阳。中医和我国传统的摄生办法,所寻求的便是到达身心表里的“阴阳平衡”、“阴阳调和”。 哈他瑜伽相同寻找的一种的调和的状况,就好像我国的阴阳理论...
《命令与征服之红色警戒3》mod 初级教程翻译 会员:woshifyf(原创撰写)     Starting Off 启程 本教学将指导你来如何制作一个MOD,以及如何使用RA3 MOD SDK。 首先你要下载RA3 MOD SDK。 确认你的SDK的安装路径 打开SDK的安装文件夹,双击mods文件,可以看到里面有一个samplemod文件夹,别管他。 创建一个新的文件夹,名...
标签: PS PS教程
1.拖动辅助线时按住Alt键可以在水平辅助线和垂直辅助线之间切换。按住Alt键点击一条已经存在的垂直辅助线可以把它转为水平辅助线,反之亦然。 注意:辅助线是通过从标尺中拖出而建立的,所以要确保标尺是打开的 [Ctrl+R] ( View Show Rulers )。 2.拖动辅助线时按住Shift键将强制其对齐到标尺上的刻度。 3.双击辅助线可以...

经验教程

707

收藏

41
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部