游戏开发论坛

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

读取RAW地形文件时有些疑问

[复制链接]

2

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2010-8-11 20:52:00 | 显示全部楼层 |阅读模式
在学习叶至军的《Visual C++/DirectX9 3D游戏开发导引》LOD地形过程中,读取RAW地形文件时,如原RAW高度图为在平地中间有一高度球,按书上代码生成却是把球分开显示到两边,经改动代码后显示正确,请各位专家帮忙看一下怎么回事。
如图:

以下是主要代码
//TERRAIN_SIZE 256;地形尺寸
//读取高度图
LoadHeightData(TCHAR *szFileName){
        FILE *pFile=NULL;
        const char *r0=szFileName;
        const char *r1="rb";
        if(fopen_s(&pFile,r0,r1)==0){
                fread(m_pucHeightData,1,(TERRAIN_SIZE+1)*(TERRAIN_SIZE+1),pFile);
                fclose(pFile);
                return true;
        }
        return false;
}
//设置四叉树分割状态
SetQuadMatData(int x, int z, bool b){
// m_pbQuadMat[(TERRAIN_SIZE)*z+x]=b;原
m_pbQuadMat[(TERRAIN_SIZE+1)*z+x]=b;//改动
}
//获取四叉树分割状态
GetQuadMatData(int x, int z){
// return m_pbQuadMat[(TERRAIN_SIZE)*z+x];原
return m_pbQuadMat[(TERRAIN_SIZE+1)*z+x];改动
}
//取得地块顶点高度
//float y=m_pucHeightData[(TERRAIN_SIZE)*z+x];原
float y=m_pucHeightData[(TERRAIN_SIZE+1)*z+x];改动


2

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2010-8-13 13:14:00 | 显示全部楼层

Re:读取RAW地形文件时有些疑问

TERRAIN_SIZE是地形的宽度?
如果是,那么地形中每行每列的顶点数就是TERRAIN_SIZE + 1。
应该就是这个原因^_^
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 03:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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