游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8008|回复: 0

关于glGetFloatv(GL_MODELVIEW_MATRIX, mat)的含义?

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-6-12 17:34:00 | 显示全部楼层 |阅读模式
请达人 帮忙解释一下 其中的 GL_MODELVIEW_MATRIX的具体内容吗,其中的 数据 又都分别代表什么呢?
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);
}

为什么这样操作 就可 实现 树 始终 面向观察者?abc
向达人求救。先谢谢我的达人!!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 15:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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