使用IndexBuffer(索引)
来源:互联网 发布:jdbc连接oracle数据库 编辑:程序博客网 时间:2024/05/17 22:38
今前面我们使
用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说得清清楚楚的。
我叙述得对不对?不对的话,请指出,谢谢!
- 使用IndexBuffer(索引)
- 索引服务器(全文索引)的使用
- OpenGL ES2.0的IndexBuffer注意事项
- SQL Server2000 索引结构及其使用 (索引使用经验总结)
- MongoDB - 索引 (二)使用
- 索引的使用(一)
- 使用索引
- (Mysql 四)普通索引(BTREE索引)的使用
- 学习MongoDB--(5-2):索引(查看索引的使用,管理索引)
- 学习MongoDB--(5-2):索引(查看索引的使用,管理索引)
- SQLServer索引结构及其使用(三)
- SQLServer索引结构及其使用(四)
- 使用索引器(C# 编程指南)
- mysql的索引使用(一)
- Oracle索引使用规则(一)
- Oracle索引使用规则(二)
- 配置管理工具使用(资料索引)
- mysql使用(不适用)索引
- 关于Visual Basic 6.0类开发(上)
- 如何获取网络质量?
- 关于Visual Basic 6.0类开发(下)
- 介绍SCJP考试中文大纲
- 值得收藏的一些代码
- 使用IndexBuffer(索引)
- 使用简单的DepthBuffer 和使用Lights
- 打造完美的IE网页木马
- 先测试一下
- 推荐几本软件测试方面的经典书籍
- 《重构》语录
- 自定义公式的计算处理
- 测试自动化框架〔转贴〕
- MSN爬楼梯和Monkey Testing --from屋顶上的木帷幕