OpengGL gluLookAt函数

zhyinty 2008-11-14 10:23:38
gluLookAt()实质上是不是也是采用的移动场景的方式,是不是视点总是固定在原点,而仅仅移动场景,如果不是,为什么当gluLookAt()的参数发生变化时光源的位置不发生变化。
...全文
173 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzz822163 2008-11-15
  • 打赏
  • 举报
回复
gluLookAt 是摆放相机在世界坐标系下的位置和姿态的
简单的理解:
你可以把相机想象成为你自己的脑袋
你自己要看到现实世界当中的内容,你需要固定你的脑袋的位置 eye的坐标
以及你看向的目标的位置
而在固定了这两个内容的情况下,你的头还是可以歪着看是吧
所以要确定可见的内容,还需要固定你的头顶的朝向了,这个就是up向量的定义了
GG..
zzz822163 2008-11-15
  • 打赏
  • 举报
回复
书上说移动场景和移动视点的效果是一样的,只不过是说法和理解不一样了
你调整一下glLightfv和gluLookAt的先后调用关系,
qiansan1971 2008-11-14
  • 打赏
  • 举报
回复
可以这样理解:

gllookat 是移动观察场景的视点的位置,glTranslate()、glscale()、glrotate()是移动场景,所以gllookat移动的方向与大小与glTranslate()、glscale()、glrotate()正好相反,是同一种效果实现的不同方式。有时用gllookat要方便一些,如画好了场景,从不同的角度进行观察时。
glacier3d 2008-11-14
  • 打赏
  • 举报
回复
可以理解成移动场景,但除了移动,还有旋转
glacier3d 2008-11-14
  • 打赏
  • 举报
回复
gluLookAt()是对把三位坐标从世界坐标系转化到相机坐标系,简单的就是给原坐标乘上一个相机变换矩阵得到一个新坐标(对世界空间的所有点都进行这个程法运算)
代码下载地址: https://pan.quark.cn/s/f772f44531a5 FFmpeg 是一款功能丰富的开源命令行软件,能够对多种类型的多媒体数据,涵盖音频及视频内容,进行操作。它具备多种能力,例如进行格式转换、合并不同媒体、分割文件、执行编码与解码处理、以及实现流媒体传输等。在此特定情境下,主要探讨如何运用 FFmpeg 来处理 MP4 文件的播放难题,特别是那些无法通过流式传输正常播放的文件。MP4 文件播放时可能遇到的障碍,可能是由播放器不兼容的编码方式、容器结构错误、元数据位置设置不当,或是缺少必要的流信息所导致。FFmpeg 能够协助我们识别并修正这些问题。 1. **针对 MP4 文件的检测与修复**:借助 FFmpeg 的 `-i` 参数,可以获取 MP4 文件的详细资料,例如: ``` ffmpeg -i problematic.mp4 ``` 若发现编码方式、时间轴或容器结构存在问题,可尝试对文件进行重新封装(remuxing)或重新编码(transcoding)。例如,通过简单的重新封装操作: ``` ffmpeg -i problematic.mp4 -c copy fixed.mp4 ``` 此指令将维持视频和音频流的原状,仅更换文件的容器格式。 2. **应对流传输挑战**:当文件无法以流方式播放时,通常是因为流信息未正确嵌入文件头部。FFmpeg 可用于解决该问题: ``` ffmpeg -i problematic.mp4 -movflags +faststart output.mp4 ``` ...

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧