gpt4 book ai didi

c++ - OpenGL、C++ -> 如何在屏幕上布置对象?

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:49 25 4
gpt4 key购买 nike

以前写java代码的时候,有“grid bag”、box之类的布局管理器。

我正在使用 Cocos2D-X 开发一款游戏,在屏幕上布置对象时遇到了问题,这样它们就不是硬编码的位置,而是基于布局。设备之间的像素差异是导致我出现问题的原因。

我知道 Cocos2D 有办法处理这个问题,但我的作品很大而且质量很高,我想根据设备调整它的大小。

所以我想直接使用原生 OpenGL,但尽管我可能会尝试,但我无法弄清楚是否已经有可用的布局管理器。

任何人都可以讨论在 OpenGL 中布局对象的方式吗? C++语言

最佳答案

OpenGL 有视口(viewport)的概念。这是您将要绘制到的屏幕/窗口坐标中的框。设置视口(viewport)后,您现在正在使用有时称为相机坐标的东西。

相机坐标从视口(viewport)最左侧的 -1.0 到最右侧的 1.0。类似地,对于极端底部的 Y 坐标 -1.0 和极端​​顶部的 1.0。位于视口(viewport)之外的任何东西都不会被绘制。

您的模型可以存在于您喜欢的任何坐标系中。然后,您可以使用转换矩阵将对象转换为相机坐标。

关于c++ - OpenGL、C++ -> 如何在屏幕上布置对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002573/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com