DX Sample 笔记
文章平均质量分 75
aslan_dd
这个作者很懒,什么都没留下…
展开
-
学习计划
下一步,打算完整的学习一边DX,看龙书,编译所有的C++ sample以前接触dx都是看其他博客,不够完整和彻底。每看一部分,写下相应的学习笔记原创 2013-11-30 10:31:35 · 448 阅读 · 0 评论 -
1 初始化Direct3D
创建设备我们看到的一切都是由设备来处理的,可以把这个设备理解为我们和硬件交流的媒介设备能听懂我们说的,硬件能听懂设备说的。创建设备步骤:SDK里的第一个demoTutorial 1: Creating a Device 里有说这里对于我们比较重要的是2和4先获取相应版本的接口,然后创建并且填充D3DPRESENT_PARAMETERS结构体(原创 2013-11-30 14:59:42 · 650 阅读 · 0 评论 -
3 rendering pipeline
3d绘制流水线,已经形成很多年的理论,把虚拟的3D世界的场景转化为2d的图像显示在屏幕上是这么个流程:局部坐标系世界坐标系观察坐标系背面消隐光照裁剪投影视口坐标系光栅化其中,关于坐标系的变换都是由矩阵运算实现的,DX提供了这些运算,因为这些原创 2013-12-07 09:08:01 · 569 阅读 · 0 评论 -
2 Vertex
3D世界的所有东西都是由多边形逼近形成的,同样一个模型用的多边形越多就越细致构成就需要顶点,对于定点,首先要理解的是FVF(可塑顶点格式)D3D中定义定点是按照我们的具体需求有时候只需要坐标,有时候还需要颜色,纹理坐标等等其他量为了让我们的device能认识我们定义的顶点,就要用D3DFVF定义的标志定义我们的FVF 举个栗子=。=struct CUSTOMVERTEX原创 2013-12-01 11:46:23 · 608 阅读 · 0 评论 -
5 颜色
D3D中,颜色都是由RGB三元组表示都是32位的颜色,排列是 A R G B,一个透明度,三个原色有两种结构来保存颜色分别是 D3DCOLOR和D3DCOLORVALUED3DCOLOR 是用 0-255的值来表示每一个分量的亮度值D3DCOLORVALUE用 0-1的值来表示每个分量的亮度这两种定义可以互相转换,在其实现的构造函数中有相应的构造函数可以原创 2014-01-02 10:17:05 · 563 阅读 · 0 评论 -
6 光照
上帝说要有光,于是就有了光3D世界中的光是按照物理世界的光模拟的,从而可以做出非常逼真的效果使用光照时,顶点的颜色是由光照计算引擎依据 光源类型,材质,物体对于光源的朝向(决定反射类型)计算每个顶点的颜色值D3D光照模型里,光源发出的光由3种光组成环境光漫反射镜面反射环境光是物体不是被光源直接照亮,而是由其他物体反射光而被照亮漫反射用来模拟从每个角度原创 2014-01-03 11:30:21 · 486 阅读 · 0 评论 -
4 D3D绘制
利用D3D接口绘制简单几何体顶点缓存和索引缓存两者用法相似顶点缓存是一个包含内存数据的连续内存空间索引缓存是一个包含索引数据的XXXXX用它们的原因是他们存放数据的地方是显存,在绘制的时候,使用现存数据比内存数据会快的多代码中,顶点缓存用接口 IDirect3DVertexBuffer9索引是 IDirect3DIndexBuffer9(direc原创 2013-12-27 10:20:10 · 558 阅读 · 0 评论 -
7 纹理映射
借助纹理映射技术,可以把图像数据映射到三角形单元中,为3D图型添加更具细节的描绘使用纹理映射,需要学习映射方式纹理创建纹理过滤纹理坐标D3D所使用的纹理坐标由平面坐标构成 水平u轴 和 竖直v轴由坐标对 (u,v)标识的纹理元素称为纹理元之前说过,纹理映射是把图像数据映射到三角形单元中,在3d世界中所有的单元都是由三角形构成的要实现纹理映射,需要给顶点原创 2014-02-22 11:51:12 · 723 阅读 · 0 评论 -
8 融合技术
融合技术应用在当前光栅化的像素与已经光栅化的像素处于同一位置时就是正在处理的图元和已经在后台缓冲中的像素进行融合。以此获得一些色彩上的特效融合的前提是画在前面的物体是有一定透明度的,然后透过它看它后面的东西,体现出那种“透着看”的感觉的技术就是融合技术融合方程融合的前提是融合方程,由融合公式得出最后屏幕上融合位置的像素值,从而呈现出融合效果OutputPixel原创 2014-02-24 16:29:26 · 693 阅读 · 0 评论