0713DiretcX 学习笔记

来源:互联网 发布:塞班论坛软件下载 编辑:程序博客网 时间:2024/05/17 09:05

DircetX中,涉及到更多数据的判断与存储,今天有以下感悟:

1 必备的数学知识中有许多都是计算机图形学的知识,其中变换矩阵就一方面,但不熟悉的地方有两个

A 向量的运算

原来就知道对于材质就需要有更多的向量预算,很期望后边关于向量这个变量的运算

B平面的问题

Direct X 中存储平面有了一个新的结构体,包括在整体工具的时候都有新的应用,但关于运算重载符还有许多问题

2 关于Direct基础学习中,初始化花了2个小时,因为库程序加载的问题,但后来看到了源代码,还是很有成就感,关于源代码,有以下几个感悟:

A 对于该书的程序结构有一定了解,steup运来存储数据 display则用来显示数据,这也是以后另一个思想分支, 前者可能更多的涉及到数据结构的问题,而后者则是算法的问题。

B 通过一段时间的研究,对于几个函数有了新的感想

 a   Device->CreateVertexBuffer(

         3 * sizeof(ColorVertex),

         D3DUSAGE_WRITEONLY,

         ColorVertex::FVF,

         D3DPOOL_MANAGED,

         &Triangle,

         0);

其中的   3 * sizeof(ColorVertex),

 是自己定义的某个空间,而这个空间有一点的可更改性

可以是

     ColorVertex(float x, float y, float z, D3DCOLOR c)

     {

         _x = x;  _y = y;  _z = z;  _color = c;

     }

 

     float _x, _y, _z;

     D3DCOLOR _color;

 

     static const DWORD FVF;

也可以只存储数据的MESH图形

 B 对于DirectX的图形渲染步骤应该有以下几步:

1 获取绘制图形驱动指针 * Device

2 存储必要的点和其他信息,注意包括存储数据到内存和访问缓存(Lock),当然访问玩要关闭,但也可以重新找回。

3 改变渲染状态(这是最容易忘记的一步) 曾经就忘记改这个而找了好长时间

4 绘制准备

A 设置资源流SetStreamSource()

B设置顶点格式SetFVF()

C 设置缓冲区域SetIndices()

5绘制函数可能反而简单一些

6其他一些细节也要注意

基本就是这样,今天是第一天学习,目标是看的懂HLSL语言,继续前进着

 

原创粉丝点击