问题标签 [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.
opengl - 行动自由
我有点坚持在 OpenGL 中使用鼠标自由移动,我想要的是拥有 3D 模型制作程序的控件。我正在使用 Windows。
这是我的视口结构,非常标准:
我的 gluLookAt 调用:
我的 WM_MOVE,当用户按住鼠标右键时旋转场景:
我的 WM_MOUSEWHEEL,用于放大和缩小场景:
缩放代码真的不起作用,我认为我在 Y 轴上旋转的代码是错误的,看起来很奇怪。
我能够让变焦大部分工作,Y 和 X 和 Z 没有链接,但它有点工作。这次我发布了完整的 main.c,以便您可以看到更多代码:
c++ - 用 glm::Quat(ernions) 模拟 gluLookAt
我一直在尝试模拟 gluLookAt 功能,但使用四元数。我的每个游戏对象都有一个 TranslationComponent。该组件存储对象的位置( glm::vec3
)、旋转( glm::quat
) 和缩放( glm::vec3
)。相机在每个滴答声中计算其位置,执行以下操作:
这个位置代码作为expexted工作,摄像机位于玩家身后3米处,向上1米处。现在,相机的四元数设置如下:
渲染引擎现在获取这些值并生成 ViewMatrix(相机)和 ModelMatrix(播放器),然后渲染场景。代码如下所示:
quatFromToRotation(glm::vec3 from, glm::vec3 to)定义如下:
我遇到的问题是 cameraRotation 设置不正确。无论玩家在哪里,相机的前方总是(0,0,-1)
macos - 调用 gluLookAt 时的 GL_INVALID_OPERATION
我最近一直在 OS X 上使用 OpenGL(tl;博士:我是 OpenGL 菜鸟)并且得到了一些可以绘制立方体的代码。但是,我没有看到任何面孔(除了前面),因为我的视图没有被翻译。我尝试使用该gluLookAt
函数进行此翻译,但出现GL_INVALID_OPERATION
错误。这就是我的渲染方式:
当我注释掉gluLookAt
调用时,这段代码有效,从我从文档中收集到的信息来看,这个错误是由在 and 之间执行引起gluLookAt
的。我不知道这些是否在哪里被调用,因为我自己不调用它们,并且将调用包装起来并不能解决问题。glBegin
glEnd
gluLookAt
glBegin
glEnd
如果它有所作为,我使用的是 OpenGL 3.2 Core Profile。
glut - 使用 gluLookAt 进行等距投影
我有这个房子以(0,0,0)为中心,尺寸为10x10x20。我想做一个等距投影,但房子没有显示出来。这是房子的代码:
glEnd();
有人可以帮我解决我必须放入 gluLookAt 以获得等距投影的参数吗?
opengl - gluLookAt 对 glRotate/glTranslate/glScale 有影响吗?
我有以下代码:
矩形将围绕 y 轴旋转。正如我的结果所示,它仍然在我的窗口的中心。但为什么 ?
据我所知,该函数gluLookAt
修改了 MODELVIEW 矩阵并发出对glTranslate
内部的调用,那么上述glRotatef
调用的确切行为是什么?为什么旋转半径不是10?(10 是传递给 gluLookAt 的第三个参数)
opengl - OpenGL gluLookAt 为什么向上向量而不是角度
我知道在 OpenGL 中,我们使用 gluLookAt 将相机相对于世界放置,从而定义将要绘制的图像。
“眼睛”指定相机的位置,“中心”指定相机指向的点。一旦我们知道了这两个,我们就可以从眼睛到中心画一条直线。相机平面将垂直于这条线。
因为我们知道这个平面,所以向上向量指定了相机的顶部——基本上这个平面中的哪个方向是向上的。因此向上向量总是正交于连接中心和眼睛的向量。
我的问题是,当我们只想知道关于连接“中心”和“眼睛”的线的旋转角度时,为什么我们需要完整的向量。这背后的原因是我不知道的计算优势吗?如果有人指定了一个与视线方向不正交的错误向上向量怎么办?
c - 相机不会在 OpenGL 中移动
我在 OpenGL/freeGLUT 中使用相机时遇到问题。这是我的代码:
(出于某种原因,当我将代码粘贴到此站点的代码功能中时,它会给出非常奇怪的输出。)
据我所知,这应该在按下箭头键时旋转相机 - 但它什么也没做。似乎即使是初始相机位置也是错误的。任何线索这是为什么?
visual-c++ - 带有 gluLookAt 的 FPS 武器
我正在开发一个类似 3D 迷宫的游戏,只是为了学习(当然也是为了好玩:))。我已经做了迷宫,我可以在第一人称模式下在墙壁之间移动。我唯一的问题是,我想要某种武器用于我的第一人称视角(比如 FPS 游戏)。在我正在使用的迷宫中移动gluLookAt
。代码片段:
……
我试图用我的立方体来做到这一点(立方体现在是“武器”)。
有了这个,立方体完美地向前或向后移动,但是当我向左或向右转时,它会停留在它的位置。有人可以帮我转吗?
opengl - gluLookAt is optional?
I am new to Open GL / Open GL ES.
I am a Android developer and exploring Open GL myself. Is really very difficult to understand but day by day I am making progress merely because of you peoples :)
Now lets come to my problem.
I downloaded 2 sample, compile and run it...it working. But when I looked in a code I found out of one gluLookAt() is not being used.
My question is, 1) is it optional ? 2) And if its then how we setting the ViewPort(Camera) ?
Please let me know if need more description on it.
Thanks Amit
opengl - 围绕中心对象旋转场景
我有一个位于 (0.0, 0.0, -39.0) 的对象并且从不移动,场景的其余部分相对于该对象移动;我希望相机以相同的方向看这个物体。当我这样做时:
它不是围绕对象(实际上是围绕世界 z 轴)旋转场景,而是围绕其中心旋转。如果我更改平移和旋转的顺序,那么它会正确地围绕对象旋转,但它会在场景 y 方向的方向上平移(我希望它向世界 y 方向平移)。我想我知道为什么会发生这种情况,但我不知道如何解决它。我想我把自己弄糊涂了XD。
我应该补充一点,我使用箭头键从用户那里获取输入以更改“y”和“角度”。所以,基本上如果这个对象是玩家,我希望相机一直看着它的背面,玩家可以使用键盘四处移动。但是,我决定移动场景,而不是移动玩家。我不确定这是否是标准方法。