问题标签 [perspectivecamera]

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.

0 投票
2 回答
716 浏览

c++ - 没有在opengl中绘制的顶点

我一直无法使用着色器绘制一个简单的顶点指定(类似盒子)的茶壶模型,并带有一些用于平移和旋转的输入。我一遍又一遍地检查了我的 gl 代码和矩阵(-z 上的对象位置、原点处的相机等),但不明白为什么我仍然只是得到一个空白屏幕。为了保持代码简短,我刚刚为我的模型的基本立方体输入了代码(一旦我至少知道我会没事的)。

}

顶点着色器

片段着色器

0 投票
1 回答
1222 浏览

3d - Ogre/Mogre:相机两点透视

我正在显示一个包含一些立方体的场景。相机使用透视。一切都很好,但我希望垂直线是平行的(两点透视:http ://en.wikipedia.org/wiki/Perspective_(graphical)#Two-point_perspective )。

从正面查看立方体时:

我想要的是:

我得到的(夸张的):

我试过摆弄相机的 FOV,但无济于事。

到目前为止我的尝试:

0 投票
1 回答
1594 浏览

c# - 透视投影

几天前,我决定开始 3D 编程并遇到透视投影。我使用以下代码来获取矩阵:

我对相机使用以下代码:

但是,我不知道如何获得模型或世界矩阵,还有以前的代码有什么问题吗?

0 投票
3 回答
7787 浏览

c++ - 如何在给定视图空间深度值和 ndc xy 的情况下恢复视图空间位置

我正在编写一个延迟着色器,并试图更紧密地打包我的 gbuffer。但是,给定视图空间深度,我似乎无法正确计算视图位置

计算的位置是错误的。我知道这一点,因为我仍在 gbuffer 中存储正确的位置并使用它进行测试。

0 投票
1 回答
1011 浏览

input - 根据到目标的距离缩放 3D 相机平移/缩放

我正在开发一个类似 DCC 的工具,它具有 3D 视口,您可以使用鼠标四处移动,类似于 Maya、Blender 等。

我需要一些数学方面的帮助。

我试图确定两点。第一个是基于目标距离的小车速度。在小尺度上(例如,dist=10^-3),它​​移动得太快,而在大尺度上(例如,dist=10^6),它移动得太慢。我想要一个平坦的“相机速度”输入,可以整体缩放效果,但在所有比例下,相机都应该感觉相同。如果我在 0.1 或 1000 个单位之外,这无关紧要,对于给定的鼠标增量,我应该感觉我正在以相同的速度接近目标。

另一个是相机平移,同样基于相机距离。实际上,我希望相机目标沿着与相机对齐并distance_to_target远离单位的平面完美地跟踪鼠标光标。我不确定透视失真是否会影响这一点?

输入是:

通常我会凭经验做这样的事情,尝试不同的值,直到找到我喜欢的东西,但为此我认为是时候尝试理论了。

0 投票
1 回答
4343 浏览

matlab - 姿态估计

在您的帮助下,我已经能够使用 CvPosit 来估计相机姿势(使用此链接http://www.aforgenet.com/articles/posit/)。我正在使用 MATLAB 代码。

现在我希望通过在图像坐标上投影 3D 点来验证该姿势。详细情况如下:

  1. 假设立方体的图像点和世界点是:

    /li>
  2. 得到的Pose为:

    在我的示例中,我使用 640 作为焦距。现在从这个姿势开始,我想使用一个 3D 点并将其投影回来以获得 2D 图像点。理想情况下,我应该得到同样的观点。但我无法得到它。我在 MATLAB 中使用以下方式:

  3. 比方说P = [28;28;28;28;1] % 4 X 1 matrix for a 3D point

    我得到x = 15251y = 27447。我不知道我在这里做错了什么。请帮帮我!!

0 投票
2 回答
9245 浏览

c - OpenCV中两点之间的距离

我想测量两点之间的实际距离,比如路上有辆车在我前面,我和车辆之间的距离是多少?

我是这样进行的:

1)找到透视变换以获得顶视图。

2)然后试图找到距离。

问题是我无法获得正确的顶视图。

如果有任何替代方式,请告诉。

0 投票
0 回答
371 浏览

webgl - 使用three.js我可以在近场和远场之间的场景中放置视口吗

我不确定我想要实现的目标是否可以使用 three.js

我的目标是将视口放置在截锥体内。我想创建一个对象可以出现在视口和相机之间的 3d 环境。因此,如果我移动相机,那么似乎物体在屏幕前以 3d 呈现 - 即生成的视差给人的印象是当物体移动时它被投影到屏幕外。

我只是找不到办法。我确信我在几年前用 flash 做过,我想我会尝试 three.js 和 webGL。

在此处输入图像描述

0 投票
1 回答
263 浏览

c - 设置透视图的坐标系?

我理解平截头体查看系统背后的概念;它的形状像金字塔,随着物体靠近中心,它们会变小,直到最终被剪掉。但是,当在 OpenGL 中使用查看投影时(请注意:我不使用已弃用的功能),您可以像这样设置坐标系:

orthoExample(左、右、下、上、近、远);

这一切都很好,但是说到透视,事情变得有点奇怪。

透视示例(field_of_view_y,方面,近,远);

我该如何设置具有这样功能的坐标系?!?它不允许我指定左、右、下、上等。我知道透视只是平截头体投影的一种变体......

0 投票
1 回答
180 浏览

c - 更改 Z 坐标 (OpenGL) 时不显示对象?

在 OpenGL 中渲染时遇到问题。一切都显示得很好,直到我改变 Z 坐标,它被剪裁/看不见了!是这样吗?我是否设置了透视投影矩阵错误?我被难住了...

我的渲染代码的相关位(mat4_函数是一个外部库,类似于他们的 GL 朋友)。

另请注意,我尝试过正反两方面的翻译。