zoukankan      html  css  js  c++  java
  • 龙书9 chapter10和11章 网格mesh

    这两章主要说:1.通过代码数据创建mesh  2.由于1方法过于麻烦,读取现有模型文件,得到mesh数据  3.mesh的优化  4.ECT (edge collapse transformations) 边折叠变换 ,对网格简化。实现渐进网格。

    我得到了什么:并没有了解到实现mesh优化和渐进mesh的具体方法,只是知道有这个东西,mesh优化的几个重要属性和类型设置。

    mesh和优化:  1.首先ID3DXMesh和ID3DXPMesh都继承自ID3DXBaseMesh

                         2.一个mesh有多个subMesh组成,每个面片都有自己的属性ID,指定属于哪个subMesh,这些属性ID存储在attribute buffer内。每个三角面片又对应一个index;这样每个index有相应的subMesh 属性组

                         3.对mesh中的顶点和索引进行重组重组过程称为网格优化。重组后在索引缓存中每个面片的index信息可能会被移动

                         4.关键点:每个面片的邻接信息。

                         5.attribute table:属性表里有subsetID,vertex 数量,vertex start,face start,face 数量;

                            比如:Entry 2
                                     Subset ID:    2
                                     Face Start:   8
                                     Face Count:   4
                                     Vertex Start: 16
                                     Vertex Count: 8

                             建立表后,一次快速查找,就能得到vertexbuffer里属于该subset的全部面片。

                        

    顶点法线的计算:光照是对每个顶点进行的。

                        chapter5中说明了计算vertex normal的两种方式

                        一种是等于面片法向量,利用向量的叉乘得到。另一种是取这个vertex共享面片法向量的均值。

    从.x文件中读取,vertex可能没有包含vertex normal的信息。使用computerNormals之前,需要clone该mesh,并指定vertex的FVF包括normal

    渐进网格的思路和纹理中多级渐进纹理mipmap类似,小而远的mesh不需要精细的数据来绘制。

    每个顶点有相应的权值,

    最后说了bounding volume,外接体,用来加速可见性(visibility test)和碰撞检测(collision test).

    但AABB和OBB具体实现的区别?

                       

  • 相关阅读:
    OpenCV——IplImage
    OpenCV——常用函数查询
    OpenCV——Sobel和拉普拉斯变换
    OpenCV——CvSeq动态结构序列
    OpenCV——人脸检测
    Java—Integer类
    Java—NumberFormat与DecimalFormat类
    sql事务机制
    存储过程
    java中的抽象类和接口
  • 原文地址:https://www.cnblogs.com/dust-fly/p/4174940.html
Copyright © 2011-2022 走看看