引言: 10. Mesh Part One
摘要: 这几天开始接触jsp里面一些bean的写法,然后自己想了想,认为其实在asp里面也可以采取这一思想来做。虽然不是很纯,不彻底,但是能够把一些逻辑处理分离出来,更适合程序的移植性,提高了开发周期。我自己写了个类connex包含了一些对数据库的操作,觉得应该可以包括一大部分的逻辑处理,但是这样也提高了错误几率,如果你把sql语句控制的比较好的话,应该是利大于弊的,这里都是一点点拙见,望大家指正。
程序的功能有了个大体的框架,其实可以自己添加一些功能,比如开......
摘要:
基本技术:
在java中实现动画有很多种办法,但它们实现的基本原理是一样的,即在屏幕上画出一系列的帧来造成运动的感觉。我们先构造一个程序的框架,再慢慢扩展,使之功能比较齐备。
使用线程:
为了每秒中多次更新屏幕,必须创建一个线程来实现动画的循环,这个循环要跟踪当前帧并响应周期性的屏幕更新要求。实现线程的方法有两种,你可以创建一个类thread的派生类,或附和在一个runnable的界面上。一个容易犯的......
在DirectX9.0中使用Mesh(1)10. mesh part one
【相关文章:
程序间参数传递 】
本文译自«introduction to 3d game programming with directx 9.0»第十章“mesh part one”,敬请斧正。 【扩展阅读:
用delphi实现ping 】
本节要达到的目标: 【扩展信息:
程序关联实现 】
在d3dx中,有很多函数都使用了id3dxmesh接口,如d3dxcreate*之类。id3dxmesh接口的主要功能继承自id3dxbasemesh父类接口,还有其他的mesh接口也是从id3dxbasemesh接口继承的,如id3dxpmesh接口,这个接口用于progressive mesh,把它翻译成“渐进mesh”,不知是否合适。
l 学习id3dxmesh对象的内部数据组织
l 学习创建一个id3dxmesh对象
l 学习优化id3dxmesh
l 学习渲染id3dxmesh
10.1. 几何结构信息
接口id3dxbasemesh具有顶点缓冲与顶点索引缓冲,分别用于存储mesh的顶点数据与顶点的索引数据,二者结合在一起才能够渲染出组成mesh的三角形。使用下面的两个方法可得到指向两个缓冲区的指针:
hresult id3dxmesh::getvertexbuffer(lpdirect3dvertexbuffer9* ppvb);
hresult id3dxmesh::getindexbuffer(lpdirect3dindexbuffer9* ppib);
下面是一个关于上述两个方法用法的例子:
idirect3dvertexbuffer9* pvb=null;
mesh->getvertexbuffer(&pvb);
idirect3dindexbuffer9* pib=null;
mesh->getindexbuffer(&pib);
另外,如果想修改顶点缓冲与顶点索引缓冲,需要先使用下面的两个方法加锁:
hresult id3dxmesh::lockvertexbuffer(dword flags,lpvoid* ppdata);
hresult id3dxmesh::lockindexbuffer(dword flags,lpvoid* ppdata);
参数flags用于说明加锁的方式,参数ppdata返回被锁定的内存的地址。记住,如果加锁成功还需要调用与之配对的解锁函数:
hresult id3dxmesh::unlockvertexbuffer();
hresult id3dxmesh::unlockindexbuffer();
下面是另外一些与mesh的几何结构有关的id3dxmesh接口的方法:
l dword getfvf(); --返回顶点的格式
l dword getnumvertices(); --返回顶点缓冲中的顶点数
l dword getnumbytespervertex(); --返回一个顶点所占的字节数
l dword getnumfaces(); --返回mesh的面数,也就是三角形数
10.2. 子集与属性缓冲
一个mesh由数个子集组成。子集是mesh中的一组使用相同属性渲染的三角形。这里的属性指的是材质、纹理、渲染状态。每一个子集用一个唯一的非负整数表示其id,如0,1,2,3等。
mesh中的每一个三角形都与一个属性id相关联,表示该三角形属于该子集。例如,在一个表示房子的mesh中,组成地板的三角形具有属性id 0,这就表示这些三角形属于子集0;同样的,组成墙的三角形的属性id为1,他们属于子集1。
三角形的属性id存储在mesh的属性缓冲中,这是一个dword数组。...
下一页 摘要:8 月 18 日,sybase 公司与 turbolinux 公司、hp公司联合宣布,携手打造企业级数据管理套件,为中小企业商务应用提供最佳选择。购买者不但可以以超低的价格获得最新版本的 sybase 数据库核心产品 ase12.5.2 for linux (中小企业版),以及 turbolinux 公司最新的企业级操作系统平台解决方案t urbolinux 7.1 server ,hp还特为此次活动提供了融资性租赁服务,同时三家公司还将联合为客户提供免费......