我要发帖 回复

新手上路

1

主题

15

积分

0

专家分

:

私信
发表时间 : 2008-9-2 18:02:00 | 浏览 : 1846    评论 : 4
我刚刚接触OpenGL
我想问问各位大虾们如何实现在一个场景中添加标注
苦恼的地方是坐标转换那,很晕
感谢高手给我指点迷津啊

最近VR访客

tan_dunming 评论于2008-9-2 18:35:56
先看看书打好基础 最好的资料还是参考书 偷工减料肯定是不行的
追求卓越
airmanisvip 评论于2008-9-3 11:48:49

关于gluUnProject

感谢tan_dunming的意见

现在还想问一下gluUnProject(winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ)返回的posX posY posZ的值太小是怎么回事啊
tan_dunming 评论于2008-9-3 17:20:05
根据输入的winX, winY, winZ的值(原点在左下角),winZ可以取0-1(也可以读取深度缓冲,这样就是屏幕像素点对应的师姐坐标位置了)。映射到视锥体之后的世界坐标系的位置,更具体的解释可以查阅OpenGL参考资料。比如《OpenGL 2.0 精髓》(网上有电子书可以下载得到),有介绍。 《OpenGL编程指南》的unproject.c也有示例。
www.gameres.com 有一篇帖子介绍如何使用该函数完成拾取功能(应用条件有限),看完以上资料之后应该可以理解了。
追求卓越
tan_dunming 评论于2008-9-3 17:20:25
Name
gluUnProject — map window coordinates to object coordinates

C Specification
GLint gluUnProject( GLdouble   winX,  
  GLdouble   winY,  
  GLdouble   winZ,  
  const GLdouble *   model,  
  const GLdouble *   proj,  
  const GLint *   view,  
  GLdouble*   objX,  
  GLdouble*   objY,  
  GLdouble*   objZ);

Parameters
winX, winY, winZ
Specify the window coordinates to be mapped.

model
Specifies the modelview matrix (as from a glGetDoublev call).

proj
Specifies the projection matrix (as from a glGetDoublev call).

view
Specifies the viewport (as from a glGetIntegerv call).

objX, objY, objZ
Returns the computed object coordinates.

Description
gluUnProject maps the specified window coordinates into object coordinates using model, proj, and view. The result is stored in objX, objY, and objZ. A return value of GLU_TRUE indicates success; a return value of GLU_FALSE indicates failure.
追求卓越

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-4-21 01:28 PM

返回顶部