当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 使用IndexBuffer(索引)

ASP.NET
现有的Web打印控制技术的方案
一段实现DataGrid的“编辑”、“取消”功能脚本
.Net中将图片数据保存到XML文档
如何在C#的WinForm中制作饼状图和柱状图
在RichTextBox控件加入图片
C#写的数据库操作类!
使用响应文件编译C#源文件
在 Visual Basic .NET 中实现后台进程(一)
在 Visual Basic .NET 中实现后台进程(二)
在 Visual Basic .NET 中实现后台进程(三)
用C#写vs插件中的一些Tip
C++编程人员容易犯的10个C#错
在Repeater中嵌套使用Repeater
Project级别的权限控制
一个FTP客户端的C#代码
用c#写的smtp邮件发送类
挤压造型Extrusion的节点说明和应用实例
.net 里面 protected private 的变量也可以访问
signlog 登陆实现
利用自定义事件实现不同窗体间的通讯 -- C#篇

ASP.NET 中的 使用IndexBuffer(索引)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 49 ::
收藏到网摘: n/a


今天看了indexBuffer,为了加深记忆,我现在把学到的识知识总结一篇,欢迎大家指正我理解有错的地方。前面使
用VertexBuffer渲染了一个立方体,我用的是TriangleStrip,共用了18个顶点。而事实上,我们的立方本只有8个顶点
,以前的渲染方法尽足足多了10个顶点,对于像立方体这像一个小的实体来说,这并不会降低我们的执行效率和占用太
大的空间,但是,如果对于一个成千上万的顶点的实体来说,重复使用顶点可是一个不大的开销!如何减小开销呢?可
以使用IndexBuffer。它为每个顶点建立了一个索引,需要渲染顶点时,我们通过索引,可以重复使用某个顶点.
首先,还是先建立VertexBuffer,但这次VertexBuffer中只存8个顶点,即我们立方体的8个顶点.然后建立我们的索引属性indices:
private short[] indices={
0,1,2,
3,4,5,
6,7,0,
1,1,7,
3,5,0,
6,2,4};
在实例化VertexBuffer后,我们同时在下面实例化IndexBuffer,具体构造方法的参数可参见SDK,与VertexBuffer差不多.如:
indexBuffer=new IndexBuffer(typeof(short),indices.Length,device,Usage.WriteOnly,Pool.Default);
第一个参数是索引数组的类型,为short,第二个为数组长度,后面的….嘿嘿和VertexBuffer一样。实例化后,立即响应Created事件,
在里面将我们的indices指定到IndexBuffer中,用SetData方法,如:
IndexBuffer ib=(IndexBuffer)sender;
ib.SetData(indices,0,LockFlags.None);
这样索引顶点的建立和初始化都完成了,下面就是渲染了。
使用索引顶点渲染的方法是:Device. DrawIndexedPrimitives参数不说了吧,SDK说得清清楚楚的。我叙述得对不对?不对的话,请指出,谢谢!