使用IndexBuffer(索引)

韩礼竹

韩礼竹

2016-01-29 13:20

使用IndexBuffer(索引),使用IndexBuffer(索引)

今天看了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说得清清楚楚的。我叙述得对不对?不对的话,请指出,谢谢!
展开更多 50%)
分享

猜你喜欢

使用IndexBuffer(索引)

电脑网络
使用IndexBuffer(索引)

使用索引服务器- 使用索引服务器的对象

ASP
使用索引服务器- 使用索引服务器的对象

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

使用WORD的索引功能

办公软件
使用WORD的索引功能

Mysql入门系列:使用MYSQL索引

编程语言 网络编程
Mysql入门系列:使用MYSQL索引

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何使用WORD的索引功能

办公软件
如何使用WORD的索引功能

SQL Server 索引结构及其使用(四)

编程语言 网络编程
SQL Server 索引结构及其使用(四)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PSV《灵魂献祭》BOSS战之南瓜男攻略

PSV《灵魂献祭》BOSS战之南瓜男攻略

session全教程(一)

session全教程(一)
下拉加载更多内容 ↓