首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将图形投影到环境/VBO上?

如何将图形投影到环境/VBO上?
EN

Stack Overflow用户
提问于 2013-07-31 01:14:11
回答 1查看 71关注 0票数 0

我正在做一个实时的策略游戏,我需要在我的立方体素地形上绘制选择矩形,我该怎么做呢?我知道一些RTS只是简单地在屏幕上使用2D/hud/gui/方法,但我真的很喜欢魔兽争霸3在地形上这样做。

伙计们,这不是关于选择,这是关于渲染一个矩形,在多个不同块的不平坦表面上。类似于魔兽争霸3中网格的渲染方式:世界编辑器!http://press2reset.com/wp-content/uploads/2012/02/Warcraft3WorldEditorScreen.jpg

EN

回答 1

Stack Overflow用户

发布于 2013-07-31 04:45:31

听起来你想要找到你选择的3d空间的屏幕空间。

如果是这种情况,那么“拾取”会找到你点击的3d点,然后做普通的MVP * pickedPoint进入剪辑空间,除以w,最后乘以你的窗口宽度和高度,即:

代码语言:javascript
复制
vec4 clipSpacePt = ModelviewProjection * pickedPoint
clipSpacePt.xyz /= clipSpacePt.w;

vec2 windowSpacePt;
windowSpacePt.x = clipSpacePt.x * windowWidth;
windowSpacePt.y = clipSpacePt.y * windowHeight;

对第一个拾取点和光标所在的位置执行此操作,以获得您的“投影选择矩形”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17953272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档