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

推荐订阅源

The GitHub Blog
The GitHub Blog
IT之家
IT之家
B
Blog RSS Feed
罗磊的独立博客
GbyAI
GbyAI
博客园 - Franky
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News
博客园 - 聂微东
N
Netflix TechBlog - Medium
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
U
Unit 42
博客园 - 叶小钗
Jina AI
Jina AI
MyScale Blog
MyScale Blog
雷峰网
雷峰网
B
Blog
Hugging Face - Blog
Hugging Face - Blog
Blog — PlanetScale
Blog — PlanetScale
Recent Announcements
Recent Announcements
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 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