问题标签 [glulookat]

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 投票
1 回答
223 浏览

c - gluLookAt 不工作

我正在尝试使用 gluLookAt() 函数来控制放大和缩小。现在它根本没有改变矩阵,我不知道为什么。

以下是相关代码:

它与 glLoadIdentity() 调用有关吗?我对openGL中的不同身份不太熟悉。

那么如何更改此代码以在 w 放大时进行按键操作?

0 投票
1 回答
150 浏览

opengl - gluLookAt() 没有看它应该在哪里

我不明白 glLookAt() 函数究竟做了什么。

我在位置 x,y,z 有一个对象。我想在物体移动时将相机放置在 x+20,y+20,z+20 位置,这样它看起来应该是静止的。然而,情况并非如此:当我执行以下代码时,我看到一个十字慢慢向右移动,甚至从窗口中移出!

如果相机正确地看着 x,y,z ,十字应该总是出现在中心?

如果我输入 y = 10 + n ,物体看起来是静止的。当 y = 10 + n * n 时,物体以恒定速度运动,当 y = 10 + n * n * n 时,物体运动并加速。

我也做过

在我的代码的开头。

先感谢您 !:S

0 投票
2 回答
834 浏览

c++ - How to use LookAt matrix in vertex shader

Let's say I have the following vertex shader code below:

How do I use the LookAt matrix in this shader to position the eye of the camera? I have tried LookAt * MVP * vPos but that didn't seem to work as my triangle just disappeared off screen!

0 投票
1 回答
125 浏览

c++ - gluCylinder 的正确 gluLookAt

我正在尝试用gluCylinder. 但是,要指定我使用的方向gluLookAt,就像我之前的许多人一样,我不确定“向上”向量,因此无法让圆柱体指向正确的方向。

我从另一个 SO 答案中读到

gluLookAt 中“向上”向量背后的直觉很简单:看任何东西。现在将头倾斜 90 度。你所在的地方没有改变,你注视的方向没有改变,但你视网膜中的图像却清晰地改变了。有什么不同?头顶指向的地方。那是向上向量。

这是一个简单的解释,但就我的圆柱体而言,我觉得向上向量完全不重要。由于圆柱体可以围绕其轴旋转并且看起来仍然相同,因此不同的向上向量不会改变任何东西。所以我的问题应该有无限多个有效的向上向量:从起点到终点的所有正交向量。

所以这就是我所做的:

  1. 我有圆柱的起点和终点应该在哪里的世界坐标,A_world并且B_world.

  2. 我将它们投影到视口坐标A_vpB_vp使用gluProject

    /li>
  3. 我调用glOrtho将相机重置为其默认位置:负z进入图片,x向右,y向上:

    /li>
  4. 我转换为坐标A_vp,将向上向量计算为向量的法线,A_vp — B_vp并使用以下命令指定视图gluLookAt

    /li>
  5. 我用以下方法绘制圆柱体gluCylinder

    /li>

这是意想不到的结果:

在此处输入图像描述

由于圆柱体从正确的位置开始,并且由于我能够在位置 B_vp 处画一个圆,唯一肯定是错误的就是 in 中的“向上”向量gluLookAt,对吗?

0 投票
1 回答
242 浏览

opengl - OpenGL - 在没有 glScalef 的情况下设置一个很好的距离

我尝试为粒子盘的完整视图设置一个合适的距离,同时具有一个有效的线比例,它表示作为鼠标缩放功能的盘比例的当前值。

场景有以下参数:

我使用以下代码示例对 3D 场景进行图形初始化:

上述gluLookAt和的值glScalef是近似选择的,即手动选择,没有精确计算。

我只想查看磁盘的完整视图(白色颗粒)。为此,我知道磁盘 (x,y) 平面中的最大值和最小值 : -25 < x <25-22 < y < 22.

从这篇文章设置 z 好距离,我可以做到(Fov/2 = 45 度):

dist = 25在磁盘前面。

所以我可以直接在我的示例代码中做(而不是

) :

?

谢谢

0 投票
1 回答
157 浏览

android - opengl glulookat 扭曲对象

首先很抱歉,我认为我有多个条目存在类似问题,但无法解决我的问题,因为我不相信我能够正确解释我的问题,希望粗略绘制的图像有助于解释我的问题。在此处输入图像描述

我有一个正方形在 x 和 y 轴上围绕我的世界移动,对象离开屏幕,有时会在它四处移动时重新出现。我想使用设备中的陀螺仪来获取值,这些值将用于通过在 x 和 y 方向上移动相机来改变相机的视线,以尝试在物体在世界各地移动时搜索它。这是当前的代码,当我移动设备时,它似乎会扭曲正方形的形状。

方位角和滚动值是通过陀螺仪获得的值。这是我第一次制作增强现实风格的应用程序,因此将不胜感激。

0 投票
0 回答
715 浏览

c++ - 跟随物体OpenGL的相机

我想实现一个跟随我的 3D 对象(汽车)的相机。要设置相机,我使用以下结构:

我的问题是当我换成那个摄像头时,摄像头不会留在车后,而是在车顶上。为什么?

0 投票
1 回答
530 浏览

c++ - openGL - 使用 gluLookAt 在对象上方和下方旋转

我在 open GL 中有一个立方体。我通过乘以旋转矩阵来旋转立方体。我还使用 gluLookAt 让相机在 x 轴上围绕立方体旋转,如下所示。

在哪里

我正在努力让相机在 y 轴上环绕它的立方体上方和下方旋转。

0 投票
1 回答
1226 浏览

c++ - Opengl 鼠标相机问题 (gluLookAt)

您好,我在 openGL 中的鼠标移动有一个奇怪的问题。这是我用鼠标移动相机的代码

convertToRads() 是我创建的一个小函数,用于将鼠标坐标转换为弧度。

使用此代码,我可以随心所欲地移动我的相机,但是如果我尝试在达到 45 度左右时一直向上移动,它会围绕 x 轴旋转 1-2 次,然后继续增加 y 轴。我不明白我是否做错了什么,所以如果有人可以提供帮助,我将不胜感激。

0 投票
1 回答
1080 浏览

python - 如何成功处理 OpenGL 的 gluLookAt 功能?

尝试在我的 python 和 pygame 3D OpenGL 游戏中实现 3D 漫游相机是我一直在尝试做的事情,但我遇到了障碍。每次我尝试使用 gluLookAt 函数时,相机都会吓坏并四处晃动,而 x 和 z 坐标迅速增加并从负向正切换。我正在尝试制作的游戏只是一个可以四处走动的平坦表面。我已经实现了所有用于移动的控件,但没有实现相机。

以下是一些总结代码,供不想阅读我所有代码的人使用:

如果上面的代码无法解决问题,这是我的完整(ish)代码:

任何帮助,将不胜感激!