问题标签 [orthographic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 应用正交投影或平截头体影响归一化坐标?
我知道归一化坐标应该是-1(左)和+1(右)和-1(底部)和+1(顶部)
像这样:
但是在应用这个之后:
从我的 onSurfaceChanged 方法
这在我的 onDrawFrame 方法中
(然后,我将 mMVPMatrix 传递到我的自定义类的 draw 方法中,在该方法中它被旋转和翻译)。
但是,我的坐标似乎发生了变化——大致是这样的:
如您所见,x 坐标有所改变,-1 和 +1 不再是屏幕的边缘(在我目前使用的设备上,外边缘变为 -1.7 和 +1.7)
Y 坐标保持不变。
如果有人能指出我哪里出错了,将不胜感激?我需要它应该是-1到+1。
谢谢
c# - XNA:正交窗口调整大小而不拉伸
一段时间以来,我一直在为 Windows 开发一个游戏项目。我曾经有一个静态的 1600 x 900 分辨率,对我来说效果很好。但对于我的一些 Beta 测试人员来说,情况并非如此。
这让我开始研究基于 XNA 的游戏中的分辨率独立性。我经历了很多虚拟分辨率系统,它们在 RenderTarget2D 上绘制所有内容并拉伸它以适应窗口大小。但这对我不起作用。
我想知道的是如何计算与泰拉瑞亚使用的相似的投影矩阵。对于那些不知道它在 terraria 中如何工作的人(无论如何,现在我认为它过去有所不同)是,一旦你调整了游戏窗口的大小,你会在屏幕上看到更多的东西。
目前我的投影矩阵是这样定义的:
这适用于窗口大小水平变化时。我从侧面看到更多的东西,一切都很好。但是一旦我垂直调整窗口大小,所有东西都会夹在一起。
有没有办法计算投影矩阵,以便我可以水平和垂直调整窗口的大小?
编辑:
我正在间接使用相机类。一切都在 Farseer Physics 坐标空间中,当某些东西被绘制到屏幕上时,它会通过 Viewport.Unproject() 进行转换。
解决方案:
正如 gareththegeek 在所选答案的评论部分中指出的那样,我所追求的特定投影矩阵是这样形成的:
c++ - 0、800、600、0 与 0、800、0、600 OpenGL
在 800 x 600 窗口中,设置 OpenGL 矩阵的最常见方法似乎是glOrtho(0, 800, 0, 600, 1, -1)而我总是使用glOrtho(0, 800, 600, 0, 1 , -1)。为什么有些人更喜欢我展示的第一种方式而不是第二种方式?
opengl - OpenGL 3.0+:正交投影矩阵
我终于毕业了,可以在 OpenGL 中使用我自己的矩阵,并且在设置正交投影时遇到了一些问题。目前,我有一个方法,它采用左、右、上和下并将它们扔到这样的矩阵中(从这里):
然后我将该矩阵乘以投影矩阵,我绝对没有得到任何有意义的输出。这让我相信我是 1). 没有使用正确的正交矩阵,2)。不将正交矩阵乘以正确的矩阵,或 3)。两个都。
我怀疑它是 2,因为每当我使用已弃用的函数时,当当前矩阵为 GL_PROJECTION 时,就会调用 glOrtho。那么,究竟如何从左、右、上、下值计算正交矩阵呢?
c# - 如何在 XNA 中计算 Oculus Rift 的 3D 视图矩阵?
这是我的相机课
我为左眼和右眼创建了一个相机。一切正常,Oculus 在每只眼睛中显示一个单独的图像。问题是 Oculus 是模糊的,我的大脑并没有将两个视图“合并”成一个图像。我试图稍微偏移右眼的图像,但我找不到两只眼睛的正确定位。任何人都可以帮忙吗?
javascript - 正交相机和使用光线投射选择对象
我在使用 raycaster 使用正交相机选择对象时遇到了一些困难。不过,当我使用透视相机时,我对此没有任何问题。在两者之间切换时我唯一改变的是类型相机。
我可以在正交视图上选择面,但它仅与我在屏幕上单击的位置松散相关。当我可以在远离对象的地方单击时,它仍然会回来,就好像它击中了靠近其中心的对象一样。
关于我在这里缺少什么的任何想法?
我的大部分代码都基于此示例,并希望从我的代码中获得非常相似的结果。(我引用的这个例子使用透视相机)
任何帮助深表感谢
我希望这是一些我还不知道的简单事情。
三.js r60
unity3d - 聚焦于特定点的正交相机变焦
我有一个正交相机,想实现一个特定点的缩放功能。即,假设您有一张图片并且想要缩放到图片的特定部分。
我知道如何放大,问题是将相机移动到具有所需焦点区域的位置。
我该怎么做?
java - 如何在 LWJGL 中渲染 3D 透明的 2D 纹理
我一直在尝试将一些纹理渲染为 3D 世界前的 HUD 的一部分。我已经设置了一些方法,以便可以轻松地在 2D 和 3D 之间切换(setPerspective() 和 setOrtho())。大多数纹理都可以正常工作并显示出我想要的效果,但是我在处理包含透明度的纹理时遇到了一些困难。纹理的透明部分不会变成透明的,而是与背景颜色相同。
我在某处读到我必须先渲染背景,但是当我这样做时,由于某种原因,HUD 似乎根本没有出现。
是的,我的代码中确实有这个;
java - 如何根据平台确定正交相机的宽度和高度?
我目前正在研究如何使用 libgdx,现在我正在努力解决正交相机的想法。我看过一段视频,解释了透视相机和正交相机之间的区别,现在我想我已经准备好了解代码了。
如何找出应该为正交相机的视口设置的尺寸(高度、宽度)?
这取决于我的平台吗?(移动设备、台式机等)
视口是否需要一定的形状?(正方形或长方形)
c++ - glOrtho() 没有像我想象的那样工作
我试图让窗口中的一个视口显示茶壶的正交投影。
这是我想glOrtho
用来绘制茶壶正交视图的代码部分。首先,我glOrtho
是否正确使用?我想我是,但我没有得到我想要得到的东西,所以我怀疑我是。
为什么我所拥有的东西不起作用,我将如何解决它?
如果我应该放在glOrtho
一个特定的地方,那么知道在哪里会很有帮助。
另外,由于我应该有几个视口,那么所有视口都会有一个正交投影吗?
这是我的整个程序代码片段取自第 192-204 行