游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2381|回复: 1

请问如何把下面的代码D3DPT_TRIANGLEFAN改为D3DPT_TRIANGLELIST渲

[复制链接]

75

主题

385

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2008-1-10 08:00:00 | 显示全部楼层 |阅读模式
//---------------------------------------------
//渲染一个节点
//---------------------------------------------
void CTerrain::RenderNode(float x,float z,int NodeSize)
{  
   int i;
   int iX = x;
   int iZ = z;
   CUSTOMVERTEX   vertex[10];

   int CurrentNodeSize = NodeSize/2;
   i=0;

   GenerateVertex(x,z,vertex);
   i++;

   GenerateVertex(x+CurrentNodeSize,z+CurrentNodeSize,vertex);
   i++;

   if((iX+NodeSize)<= MapLength &&
(CheckifSplit(iX+NodeSize,iZ)==TRUE))  //检查临近节点有没有分割,防止产生裂缝
                                       //每条边的中点都必须检查
   {
      GenerateVertex(x+CurrentNodeSize,z,vertex);
  i++;
               
   }

   GenerateVertex(x+CurrentNodeSize,z-CurrentNodeSize,vertex);
   i++;

   if((iZ-NodeSize)>=0 &&
(CheckifSplit(iX,iZ-NodeSize)==TRUE)) //检查临近节点有没有分割,防止产生裂缝
   {
      GenerateVertex(x,z-CurrentNodeSize,vertex);
  i++;
               
   }

   GenerateVertex(x-CurrentNodeSize,z-CurrentNodeSize,vertex);
   i++;

   if((iX-NodeSize)>=0 &&
(CheckifSplit(iX-NodeSize,iZ)==TRUE))//检查临近节点有没有分割,防止产生裂缝
   {
      GenerateVertex(x-CurrentNodeSize,z,vertex);
  i++;
               
   }

   GenerateVertex(x-CurrentNodeSize,z+CurrentNodeSize,vertex);
   i++;

   if((iZ+NodeSize)<=MapLength &&
(CheckifSplit(iX,iZ+NodeSize)==TRUE))//检查临近节点有没有分割,防止产生裂缝
   {
   GenerateVertex(x,z+CurrentNodeSize,vertex);
   i++;

   }

   GenerateVertex(x+CurrentNodeSize,z+CurrentNodeSize,vertex);
   i++;

   DrawOneNode(vertex,i);
  
   return ;
}

//---------------------------------------------
//渲染一个节点
//---------------------------------------------
void CTerrain::RenderNode(float x,float z,int NodeSize)
{  
   int i;
   int iX = x;
   int iZ = z;
   CUSTOMVERTEX   vertex[10];

    BOOL     DrawOneNode(CUSTOMVERTEX *SrcVertex,int VertexNum)  //根据顶点数据渲染出一个正方
   {   

  pDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN,VertexNum-2,SrcVertex,sizeof(CUSTOMVERTEX));

       count +=(VertexNum-2);
   
   return TRUE;
   }

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2008-1-10 22:02:00 | 显示全部楼层

Re:请问如何把下面的代码D3DPT_TRIANGLEFAN改为D3DPT_TRIANGLELIST

为啥要把扇改成表啊?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 22:34

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表