龙书笔记

1、   我们可以设置第四个参数w ,当w设置为1时,为了让点可以恰当的转变;当w设置为0时,为了防止向量被平移。

2、  一个平面(n,d)可以被当做一个4d向量来交换,将这个4D向量乘期望的变换矩阵的逆矩阵就可以了。

3、顶点操作

   并非所有的显卡都支持顶点支持。

   技巧:若我们开发有一些新的,高级的特性的程序,在使用前我们总是先检测硬件是否支持这些特性。

    如果一个应用程序在你的机子上不能运行,说明它用到一些特性可能你的显卡并不支持,可以试试把设备类型换为REF。

4、RER DEVICE

      如果想把一些你设备不支持的Direct3D函数写入程序。为了实现这个特性,我们可以借助REF设备,它用软件模拟了所有的DIrect3D API。这些
允许你写入并测试那些你的显卡不支持的特性。

5、COM

       com,是一种能使DIrectX独立于编程语言和具有向下兼容的技术。我们通常把com当做一个接口,你可以把它当做达到某种目的的c++类来使用。我们需要明白一件事情就是,我们通过某个特殊的COM接口的函数或指针获得了一个COM接口指针,而不是我们通过c++的新关键字来创建它。当使用完某个接口后,调用它的Realease方法比直接Delete它更好,com对象具有他们自己的内存。

6、内存池

       表面和其他一些Direct3D资源被放在多种内存池中。内存池的种类由D3DPOOL枚举类型的一个成员来指定。可用到的内存池由以下几种:
           D3DPOOL_DEFAULT  -----------表示Direct3D将根据资源的类型和用途把他们放在最合适的地方。内存池中的资源必须要在IDirect3DDevice9::Resect
被调用之前销毁掉,丙炔再次使用时必须重新初始化。
           D3DPOOL_MANAGED  ----------资源将被放置在能由Direct3D管理的受控内存中,也就是说他们会按设备的需要被移动到显存或者AGP内存中。--------另外,当应用程序访问和改变自已时它先把这些资源拷贝到系统内存中,当需要时Direct3D会自动把他们拷贝到显存中。
            D3DPOOL_SYSTEMMEM ----------指定资源放在系统内存中。
            D3DPOOL_SCRATCH   --------指定资源放在系统内存中

7、交换链和页面切换

        Direct3D通常创建2-3个表面组成一个集合,即为交换链,通常由IDirect3DSwapChain接口来表示。
        交换链及页面切换技巧被用作使两帧动画之间过度更平滑。

8、索引

        3D物体的三角形经常有多个公用顶点vertex,虽然现在仅有2个点被重复使用,但是当要表现一个更精细更复杂的模型的是很,重复顶点数就会变得很大。
         为了解决这个问题,我们引入了一个索引的概念(indices),它的工作方式:我们创建一个顶点列表和一个索引列表。顶点列表包含所有不重复的顶点,索引列表中用顶点列表中定义的值来表示一个三角形的构造方式。
           索引列表则定义顶点列表中的顶点是如何构造这2个三角形的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值