DirectX 基础总结笔记

1、  适配器 adapter

即显卡。指硬件及其驱动程序

2、 设备 device

在应用中,我们需要创建多个针对适配器的连接,每个连接能够处理目前的现代图形处理器可以制作的3D魔幻效果。每个连接称为一个设备。

Device是指用来访问特定窗口并在该窗口上绘图的主要对象。

有3种不同的设备

1 Hardware(hardware abstraction layer ,HAL):可以直接访问硬件的加速特性

2 Reference(Reference Rasterizer): 具有DirectX函数的大部分特征,不依赖硬件,但很慢,适应于测试

3 Software(Software device):除非使用插件程序(plug-in),一般不用

3、DirectX pipeline

   图形显示卡的处理分为几个不同的阶段,这些阶段通常分为3部分。

   第一部分:transform and lighting stage(T&L)

将定义的坐标系下的3D模型顶点转换到一个与该模型所处的视图(或场景)相对应的坐标系,最后转换到该视图的一个特定视口下。在这个过程中,图形pipeline将依据场景中的光源并使用相关技术改变顶点的色彩和亮度。这个阶段通常称为transform and lighting stage(T&L).

   第二部分:裁切阶段

裁减那些不会出现在观察者最终看到的图像中的部分图像。

   第三部分:rasterization

产生所有的魔幻效果并把3D视图转换到屏幕上可以显示的2D图像

Pixel Shading技术允许基于每个像素来实施特殊的光亮效果。

3、 显示模式

定义那些保存屏幕状态基本信息的对象(DisplayMode类)。基本信息包括:宽度,高度,刷新率和一个格式标识符(关于显示器如何管理色彩显示的额外信息)

4、3D坐标系

   使用左手坐标系。Z值越大,对象就越远

5、 投影

有两种类型的投影

一:透视投影

二:正交投影(水平投影):Z轴将会被忽略,主要用于2D

Direct3D提供了6个主函数允许我们为游戏制定一种投影方式,这些函数将返回一个矩阵用以计算转换。

Matrix.OrthoRH, Matrix.OrthoLH: 定义了一个正交投影(RH 右手坐标系,LH左手坐标系)。函数将接受视口的宽度,高度和可观察的z轴的范围

Matrix.PerspectiveRH, Matrix.PerspectiveLH: 返回一个针对透视投影的变换矩阵,传递视口的宽度,高度和z轴的可见距离

Matrix.PerspectiveFovRH, Matrix.PerspectiveFovLH: 返回一个透视投影的变换矩阵,传递一个视角和z轴距离。该视角与视野范围(FOV)相应弧度向对应。

6、 矩阵变换

Device具有3个特殊的属性:

1 .Transform.Projection 用来接收投影矩阵

2 .Transform.World 表明在3D世界进行变换

3 .Transform.View 指出了取景窗位置

7、定位camera

   通过定位camera,以便从不同点观测同样的场景。DirectX的camera指观测矩阵(View Matrix). 可以计算观测矩阵并把它设为.Transform.View属性,或使用helper函数的Matrix.LookAtLH, Matrix.LookAtRH. 这些函数定义了观测位置和观测方向。有3点需要注意:camera所处的位置,camera正在观测的3D位置,当前的向上方向(通常是y轴方向)

8、 Drawing Primitives

定义一个3D对象所需的顶点集合。

Direct3D创建一组简单三角形的步骤:

1 创建一个顶点缓冲区

2 依据定义的顶点类型,用对象的每个顶点填充缓冲区。

3 使用希望的primitives类型(PointList,TriangleList)把缓冲区的内容绘制到设备上。

图形pipeline显示的每个场景最终都是三角形。系统将删除那些再culling进程中不可见的三角形,这个进程成为backface culling

9、 deviceReset事件

每当设备重新设置时,必须创建新的顶点缓冲区。实现的最佳方法是为DeviceReset事件注册一个事件处理程序

device.DeviceReset += new System.EventHandler(this.OnResetDevice);

转载于:https://www.cnblogs.com/kingplayer/archive/2006/10/15/529680.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
不错的dx11入门教程 Tutorial 1: Setting up DirectX 11 with Visual Studio Tutorial 2: Creating a Framework and Window Tutorial 3: Initializing DirectX 11 Tutorial 4: Buffers, Shaders, and HLSL Tutorial 5: Texturing Tutorial 6: Diffuse Lighting Tutorial 7: 3D Model Rendering Tutorial 8: Loading Maya 2011 Models Tutorial 9: Ambient Lighting Tutorial 10: Specular Lighting Tutorial 11: 2D Rendering Tutorial 12: Font Engine Tutorial 13: Direct Input Tutorial 14: Direct Sound Tutorial 15: FPS, CPU Usage, and Timers Tutorial 16: Frustum Culling Tutorial 17: Multitexturing and Texture Arrays Tutorial 18: Light Maps Tutorial 19: Alpha Mapping Tutorial 20: Bump Mapping Tutorial 21: Specular Mapping Tutorial 22: Render to Texture Tutorial 23: Fog Tutorial 24: Clipping Planes Tutorial 25: Texture Translation Tutorial 26: Transparency Tutorial 27: Reflection Tutorial 28: Screen Fades Tutorial 29: Water Tutorial 30: Multiple Point Lights Tutorial 31: 3D Sound Tutorial 32: Glass and Ice Tutorial 33: Fire Tutorial 34: Billboarding Tutorial 35: Depth Buffer Tutorial 36: Blur Tutorial 37: Coming Soon... DirectX 10 Tutorials: Tutorial 1: Setting up DirectX 10 with Visual Studio Tutorial 2: Creating a Framework and Window Tutorial 3: Initializing DirectX 10 Tutorial 4: Buffers, Shaders, and HLSL Tutorial 5: Texturing Tutorial 6: Diffuse Lighting Tutorial 7: 3D Model Rendering Tutorial 8: Loading Maya 2011 Models Tutorial 9: Ambient Lighting Tutorial 10: Specular Lighting Tutorial 11: 2D Rendering Tutorial 12: Font Engine Tutorial 13: Direct Input Tutorial 14: Direct Sound Tutorial 15: FPS, CPU Usage, and Timers Tutorial 16: Frustum Culling Tutorial 17: Multitexturing and Texture Arrays Tutorial 18: Light Maps Tutorial 19: Alpha Mapping Tutorial 20: Bump Mapping Tutorial 21: Specular Mapping Tutorial 22: Render to Texture Tutorial 23: Fog Tutorial 24: Clipping Planes Tutorial 25: Texture Translation Tutorial 26: Transparency Tutorial 27: Reflection Tutorial 28: Screen Fades Tutorial 29: Water Tutorial 30: Multiple Point Lights Tutorial 31: 3D Sound Tutorial 32: Glass and Ice Tutorial 33: Fire Tutorial 34: Billboarding Tutorial 35: Depth Buffer Tutorial 36: Blur Tutorial 37: Coming Soon... DirectX 10 Terrain Tutorials: Tutorial 1: Grid and Camera Movement Tutorial 2: Height Maps Tutorial 3: Terrain Lighting Tutorial 4: Terrain Texturing Tutorial 5: Color Mapped Terrain Tutorial 6: Quad Trees Tutorial 7: Coming Soon... 。。。。。。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值