| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 355 人关注过本帖
标题:Terrain问题
取消只看楼主 加入收藏
天蝎殿
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-8-22
收藏
 问题点数:0 回复次数:0 
Terrain问题
程序代码:
GDE::UINT32
CGround::GenerateIndices(GDE::UINT32** ppIndices)
{
    GDE::UINT32 numTriangles = (kiWidth * 2) * (kiLength * 2);
    GDE::UINT32 numIndices = numTriangles * 3;
   

    *ppIndices = new GDE::UINT32[numIndices];

    GDE::UINT32 index = 0;
    GDE::UINT32 startVertex = 0;
    for(int z = 0; z < kiLength; ++z)
    {
        for(int x = 0; x < kiWidth; ++x)
        {
            (*ppIndices)[index] = startVertex + 0;
            (*ppIndices)[index + 1] = startVertex + 1;
            (*ppIndices)[index + 2] = startVertex + 2;

            index += 3;
            (*ppIndices)[index] = startVertex + 1;
            (*ppIndices)[index + 1] = startVertex + kiWidth + 1;
            (*ppIndices)[index + 2] = startVertex + kiWidth;

            index += 3;
            ++startVertex;
        }
        ++startVertex;
    }
    return(startVertex);
}

void
CGround::GenerateVertices(SFVertex** ppVertices)
{
    *ppVertices = new SFVertex[kiWidth * kiLength];
    GDE::UINT32 count = 0;
    FLOAT32 WorldZPos = 0.0f;
    for(int z = 0; z < kiLength; ++z)
    {
        FLOAT32 WorldXPos = 0.0f;
        for(int x = 0; x < kiWidth; ++x)
        {
            (*ppVertices)[count] = SFVertex(WorldXPos, 0.0f, WorldZPos, 0xFF000000);
            ++count;

            WorldXPos += 8.0f;
        }
        WorldZPos += 8.0f;
    }
}
貌似是indices的问题,Terrain会变成这样。。
现在头晕的厉害,实在是想不出来了。
麻烦高人解答。这个是Dx的Vertex和index Buffer.
Triangle strip.
图片附件: 游客没有浏览图片的权限,请 登录注册



[ 本帖最后由 天蝎殿 于 2011-8-22 14:05 编辑 ]
2011-08-22 14:02
快速回复:Terrain问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022189 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved