关于Direct3D Mobile C#的问题

Vicky_Studio 2008-12-24 11:15:55
我想用9*9个点组成一个国际象棋棋盘。
由于点比较多,所以我想采用顶点的索引缓冲。
对于索引缓冲的建立和使用,我有一些疑问:
我是这么做的:
首先建立顶点缓冲:

CustomVertex.PositionColored[] vertices_Ground;
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= 9; j++)
{
vertices_Ground[i * j - 1].X = j - 5;
vertices_Ground[i * j - 1].Y = 0;
vertices_Ground[i * j - 1].Z = 5 - i;
}
}

然后建立顶点缓冲

VertexBuffer vertBuffer_Ground;

...

接下来我想建立索引缓冲:(下面的内容就请各位帮我纠正、勘误、引导了)

IndexBuffer IndBuffer_Ground;

然后想初始化这个顶点缓冲,于是遇到了困难,我准备这样初始化顶点缓冲:
IndBuffer_Ground = new IndexBuffer(...);
这样对么?
然后,参数里应该写什么,用这个构造函数:
public IndexBuffer (
Type typeIndexType,
int numberIndices,
Device device,
Usage usage,
Pool pool
)
第一个是不是应该写成typeof(...);?括号里面呢?
这个初始化过程请各位给一个比较完整的示例。
接下来,需要在重写的Render();中调用DrawIndexedPrimative方法,那么这个方法的各个参数的意义分别是什么(MSDN上我确实没读懂),以及一个使用DrawInxedPrimative方法的的例子。
...全文
92 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vicky_Studio 2009-03-10
  • 打赏
  • 举报
回复
我XXXXXXXXX,分给错了,对不起啊2楼的大哥。。。虽然你也没说清楚indexbuffer怎么用。。。
优途科技 2009-01-09
  • 打赏
  • 举报
回复
up
ares128 2009-01-09
  • 打赏
  • 举报
回复
new IndexBuffer(CustomVertex.PositionColored.Type,...)

index是指vertx的索引如果你是用trangleList画的话 index里面就是每3点代表一个三角形的顶点 其中每个数字表示在vertexbuffer里面的顶点的下标

VertexBuffer vb = new VertexBuffer(typeof(CustomVertex.PositionNormalTextured), du.Count, device, 0, CustomVertex.PositionNormalTextured.Format, Pool.Managed);
这个是我写的一个vb
indexbuffer类似
Vicky_Studio 2008-12-24
  • 打赏
  • 举报
回复
对问题的补充-1:
建立这个索引数组应该怎么做?
C++中大致是
WORD index[]={1,2,3,4,5,6,3,2,6,6,2,3};

C#要用什么类型?代码示例。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧