惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
B
Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
D
DataBreaches.Net
B
Blog RSS Feed
小众软件
小众软件
人人都是产品经理
人人都是产品经理
I
InfoQ
P
Proofpoint News Feed
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - zhucde

一句话的解释 给场景添加一个背景 ATI显卡中不能使用CG的变态原因 ORA-28000: the account is locked Oracle10g, EM中,ERROR: Wrong password for user ActiveX中嵌入Flash, 在IE中调用时, 与Flash的交互问题 Ogre中解决中文路径和中文文件名的方法 子节点(ChildNode)设置WorldPostion [转贴]c/c++ struct union 对齐方式 OpenGL程序 转为Opengl ES 的一点建议glDrawArray和glDrawElements [陆续更新] IPhone中编译Ogre源码及使用 宏定义中"#"的用法 - zhucde - 博客园 Ogre控件在网页中调用的问题 更新一下道路的最新效果,处理了边缘, 加入了Shader光照 OGRE中新做的火焰和爆炸 刚刚从CSDN的博客搬家过来, 有些文章的内容逐步完善, 请多多谅解! 在Ogre中使用DirectShow来播放视频--重新封装并测试通过(已完整) 新加的一个天空的效果. (已完整) [OGRE]继续完善道路-----道路两侧物体匹配(已完整)
在3D中, 将世界坐标映射为屏幕上的坐标点
zhucde · 2011-01-09 · via 博客园 - zhucde

首先介绍Ogre中的方法:

Vector3 tartgetpos;
Ogre::Matrix4 viewMat
= mCamera->getViewMatrix();
Ogre::Matrix4 projMat
= mCamera->getProjectionMatrix();
Ogre::Vector3 screenPos
= projMat * viewMat * tartgetpos;
float x = (screenPos.x + 1.0f)/ 2.0f;
float y = -1*(screenPos.y - 1.0f) / 2.0f;


 再谈谈直接使用OpenGL的方法:

Vector3 pos(...); //物体的位置
double xfpcoord[3];
gluProject(pos.x,pos.y,pos.z,cam_model_mat,cam_proj_mat,cam_viewport,
&xfpcoord[0],&xfpcoord[1],&xfpcoord[2]);

 参数解释一下,

cam_model_mat: camera model matrix

cam_proj_mat:     camera projection matrix

cam_viewport:     camera viewport

xfpcoord[0]:  屏幕X

xfpcoord[1]:  屏幕Y

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhucde/archive/2010/12/07/6060095.aspx