游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2799|回复: 2

我下载的《学OpenGL编游戏》为什么老出问题,帮忙看看!

[复制链接]

3

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2005-6-6 11:17:00 | 显示全部楼层 |阅读模式
《学OpenGL编游戏》中显示3D模型后的例子编译都通不过报一大堆错。
而且显示3D模型编译后,在编译环境下可以运行,但是直接点击生成的exe文件就会提示Failed to open DIB file data/images/sand0.bmp等等无法运行,为什么呢?
还有在场景中树的具体位置是怎么生成的,在那里?我没有看懂这段代码。
void baiscobj::ShowTree(float x,float z,float h,float s,int cactus,int t)
{ glEnable(GL_BLEND);
  glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  glEnable(GL_ALPHA_TEST);
  glAlphaFunc(GL_GREATER, 0);
  float mat[16];
  glGetFloatv(GL_MODELVIEW_MATRIX, mat);
  vector3_t X(mat[0], mat[4], mat[8]);
  vector3_t Z(mat[1], mat[5], mat[9]);
  glBindTexture(GL_TEXTURE_2D, g_cactus[cactus]);
  vector3_t pos(x,0.0,-z);
  pos.y = GetHeight(x, -z) + h + s;
  glBegin(GL_QUADS);
         glTexCoord2f(0.0,0.0);glVertex3fv((pos+(X+Z)*-h).v);//左下点
         glTexCoord2f(1.0,0.0);glVertex3fv((pos+(X-Z)* h).v);//右下点
         glTexCoord2f(1.0,1.0);glVertex3fv((pos+(X+Z)* h).v);//右上点
         glTexCoord2f(0.0,1.0);glVertex3fv((pos+(Z-X)* h).v);//左上点
  glEnd();
  glDisable(GL_ALPHA);
  glDisable(GL_BLEND);
  wtreex[t]=(pos+(X+Z)*-h).v[0];
  wtreez[t]=(pos+(X+Z)*-h).v[0];
  wtreex0[t]=(pos+(X-Z)* h).v[2];
  wtreez0[t]=(pos+(X-Z)* h).v[2];
}
vector3_t 的定义在哪?
[em4] [em4] [em4] [em4] [em4] [em4]

190

主题

1801

帖子

2096

积分

金牌会员

Rank: 6Rank: 6

积分
2096
QQ
发表于 2005-6-6 15:27:00 | 显示全部楼层

Re:我下载的《学OpenGL编游戏》为什么老出问题,帮忙看看!

把这些文件 data/images/sand0.bmp放在.exe的相对位置

3

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2005-6-6 17:05:00 | 显示全部楼层

Re: 我下载的《学OpenGL编游戏》为什么老出问题,帮忙看看

是这样啊!先谢了!
那场景中的树,是如何做到旋转的那?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-25 21:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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