|

楼主 |
发表于 2010-12-11 20:54:00
|
显示全部楼层
Re: Re:求教绘制三角形网的问题
lolikon: Re:求教绘制三角形网的问题
就这个图来说各顶点坐标当然有规律 用表达式可计算 lz再想想吧
至于网格旋转 当成茶壶就行了
多谢回答,
你可能没听懂我的意思,各点计算方法我已经想到了,只是不知道语法,我只学过绘简单图元,
我现在想计算一块,绘一块,之前都是一次绘完的,所以就不知道语法该怎么表达
当然,把所有格网点都计算出来,写入一个文件,之后读取文件,可以实现一次绘完,但这样太麻烦,我想计算一块绘一块,你看这样行不行(部分代码省略):
g_D3DDevice->BeginScene();
/***************注意,循环开始**********************/
for(int i=1;i<=格网区(如A,第二张图上标的有)总数;i++){
计算当前格网区格网,并将格网点坐标写入objData(就是那个储存坐标点数据的struct)中
/*************注意以下代码,我不知道它们能不能这样循环使用************************/
g_D3DDevice->CreateVertexBuffer(4*sizeof (objData),0,D3DFVF_VERTEX,D3DPOOL_DEFAULT,&g_VertexBuffer,NULL);
void *ptr;
g_VertexBuffer->Lock(0,sizeof(objData),(void**)&ptr,0);
memcpy(ptr,objData,sizeof(objData));
g_VertexBuffer->Unlock();
g_D3DDevice->SetStreamSource(0,g_VertexBuffer,0,sizeof(stD3DVertex));
g_D3DDevice->SetFVF(D3DFVF_VERTEX);
g_D3DDevice->DrawPrimitive(D3DPT_TRIANGLESTRIP,0,2);
}
/************循环在这里结束*****************/
g_D3DDevice->EndScene();
请问能这样循环绘图吗?
我试了,能绘出来,只是会出错,图变形了,我想知道是不是我绘图函数调用错了,
谢谢 |
|