LIBGDX:什么是“视口”?

咖啡网

这篇文章与以前的一篇文章有​​关,该文章想学习如何在LIBGDX和Box2D之间正确渲染。在继续之前,我必须非常了解视口。
经过大量的代码/文章阅读后,我觉得“视口”的意思是“摄像机镜头的矩形开口,可以观看LIBGDX的游戏世界,在这里我可以将其移动到这个世界上以查看我想要的东西”。但是,经过更多的阅读,我似乎与实际含义相去甚远。
我已经阅读了LIBGDX Wiki,并阅读了OpenGL文档,该文档似乎将视口解释为两种不同的事物。

LIBGDX Wiki:

“视口是投影3D场景的屏幕的矩形查看区域。无非就是将3D对象映射到2D平面。”

OpenGL:

“视口表示场景映射到的可用屏幕区域的形状。”

堆栈溢出:

“ ...在不同的上下文中有多个定义...”:'(

我尝试阅读数十篇论坛帖子和教程。但是,不幸的是,几乎每个人都会跳进去,好像“视口”是每个人都能理解和了解的原始概念一样。
我知道这个完全基本的问题会给我带来很多帮助。我问,请不要发火,因为我实际上不知道并且实际上需要帮助。

无论如何,进入实际问题。

LIBGDX上下文中的“视口”是什么?

没有人

这取决于您使用的LibGDX的版本。在LibGDX 1.0.0Viewport中引入该类,这可能是最新的教程和文章在谈论“视口”时的意思。

此类管理两件事:

  • 相机的视口
  • OpenGL视口

摄像机的视口定义了您想要看到的游戏世界的数量。如果您拥有TiledMap10000px X 10000px的巨大尺寸,那么您可能只想一次显示该地图的一小部分。如果您将相机视口定义为800px X 480px,那么您将看到地图的一部分恰好具有此尺寸(至少在的情况下OrthographicCamera)。就像一个窗口,您可以在其中浏览整个世界,并通过视口定义它的大小。

OpenGL视口定义了相机视图应映射到的区域。默认情况下,视口是桌面操作系统上窗口大小的100%。但这也可能有所不同。FitViewport,使得它保持一个“虚拟视口”,其定义(这实际上是在相机的视口,这是正在被管理的宽高比与LibGDX 1.0.0可以扩展该视口中Viewport类)。这意味着,如果窗口的纵横比与Viewport(虚拟)纵横比不匹配,则OpenGL视口将设置为较小的尺寸,并且会出现黑条。因此,您可以将其视为桌面上实际窗口和相机之间的另一层。该层获取相机的输出,并将其缩放到桌面窗口中的定义大小。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

字体和视口libgdx

来自分类Dev

字体和视口libgdx

来自分类Dev

libgdx->相机和视口

来自分类Dev

libgdx 视口适合不同的屏幕

来自分类Dev

什么是“视口”?那“工作区”呢?

来自分类Dev

CSS上“视口”的定义是什么?

来自分类Dev

什么是“视口”?那“工作区”呢?

来自分类Dev

libgdx视口-为什么当我使用FitViewport时,触摸输入x和y不准确?

来自分类Dev

libgdx视口-为什么当我使用FitViewport时,触摸输入x和y不正确?

来自分类Dev

Libgdx:使用视口时如何计算子画面大小

来自分类Dev

具有舞台的Libgdx视口无法正常工作

来自分类Dev

Libgdx切换屏幕和视口

来自分类Dev

libgdx 中多个相机和视口的问题

来自分类Dev

带摄像头的视口的 libgdx 用途

来自分类Dev

什么优先:元视口标记或CSS @viewport规则?

来自分类Dev

IE 10为什么将内容推出视口?

来自分类Dev

extjs4中的视口面板是什么

来自分类Dev

scaleToWidth“忽略视口”标志有什么作用?

来自分类Dev

手机上的横向网站-什么视口?

来自分类Dev

什么时候需要使用固定视口的宽度?

来自分类Dev

视口元标记在 html 中究竟做了什么?

来自分类Dev

视口原点动画

来自分类Dev

视口与窗口与文档

来自分类Dev

关闭slimerJs视口

来自分类Dev

Div 比视口更宽

来自分类Dev

libGDX舞台无响应,新的完全白度,视口不起作用

来自分类Dev

LibGdx 了解视口并将其与 Scene2D 相关联

来自分类Dev

如果布局视口小于可视视口会怎样?

来自分类Dev

基于视口高度的剩余视口宽度的CSS