当前位置:首页 » 服务器技术
开发技术指南» 文章正文
    引言: 10. Mesh Part One
 

 

 ·利用 jsp的思想来做asp     »显示摘要«
    摘要: 这几天开始接触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还特为此次活动提供了融资性租赁服务,同时三家公司还将联合为客户提供免费......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE