| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9702 人关注过本帖
标题:glGetFloatv,帮助解析,谢谢
取消只看楼主 加入收藏
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
结帖率:100%
收藏
 问题点数:0 回复次数:5 
glGetFloatv,帮助解析,谢谢
glAlphaFunc(GL_GREATER, 0);

float mat[16];// get the modelview matrix
  glGetFloatv(GL_MODELVIEW_MATRIX, mat);
我用这两个函数的时候到底用什么参数什么的(GL_MODELVIEW_MATRIX.............)就是搞不明白

我查了很多地地方,还是不明白这两个函数意思,请帮助看看,详细解析一下这两个函数的作用和怎 么样使用,谢谢!
搜索更多相关主题的帖子: glGetFloatv mat 解析 函数 MATRIX 
2007-12-01 10:41
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
收藏
得分:0 
看了你的解释,我想了,还是适懂非懂?
2007-12-03 16:46
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
收藏
得分:0 
void baiscobj::ShowTree(float x,float z,float h,float s,int cactus)//树
{ glEnable(GL_BLEND);
 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  glEnable(GL_ALPHA_TEST);
  glAlphaFunc(GL_GREATER, 0);
  float mat[16];// get the modelview matrix
  glGetFloatv(GL_MODELVIEW_MATRIX, mat);
  vector3_t X(mat[0], mat[4], mat[8]);// get the right and up vectors
  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);
}这是整个函数
2007-12-03 16:56
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
收藏
得分:0 
glGetFloatv(GL_MODELVIEW_MATRIX, mat); // 得到这个,主要是想用公告板技术来使树总是面向正面
我就是想知这个函数返回时放在mat中的16个数到底是什么样子的
为什么对它里面的数进行加加减减就可以使树总是面向正面,谢谢
2007-12-04 10:32
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
收藏
得分:0 
glVertex3fv((pos+(X+Z)*-h).v,无非就是mat[0]+mat[1]这样子在加上一个X什么的,我不明白,为什么这样子就可以控制树永远的正面朝向观察者
mat  ->[ 0    1    2    3   ]
             [ 4    5    6    7   ]
             [ 8    9    10 11 ]
             [ 12  13  14 15 ]
书上不是说[x,y,z,1]*
           [ 0    1    2    3   ]
             [ 4    5    6    7   ]
             [ 8    9    10 11 ]
             [ 12  13  14 15 ](一个变化矩阵)
=[x1,y1,z1,1]
x1,y1,z1就是新的坐标,这样子的啊,怎么会那样的了,谢谢,不明白了
2007-12-04 16:28
sunstudent
Rank: 1
等 级:新手上路
帖 子:110
专家分:0
注 册:2007-10-14
收藏
得分:0 
向量相加也就是平行四边行原则,那也不可能会使那个数决定的树图,永远正面朝向观察点啊
2007-12-04 17:29
快速回复:glGetFloatv,帮助解析,谢谢
数据加载中...
 
   



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

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