问题标签 [glu]

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 回答
1432 浏览

opengl - gluLookAt eyeZ 没有按预期工作

我在使用 gluLookAt 的 eyeZ 值时遇到了一些问题。

我想象它的工作方式就像将相机移得更远,从而缩小视野中的物体。

我有一个简单的设置,在 3d 空间中绘制一个简单的形状,通过glDrawElements100x100x100 正交,其中 0、0、0 是宇宙的中心。对象位于 0, 0, 0。

我正在努力做到这一点,因此当您滚动鼠标滚轮时,您会离对象更远/更近。以下是 glulookat 的名称。

这里唯一改变的是eyeZ。

效果很奇怪,我滚动了大约 10 秒,然后突然一半的对象消失了。从那里越来越多的它消失了。这可能是因为相机超出了 50 z 的距离限制,但我不明白为什么物体不像在 3D 空间中那样缩放。

也许我误解了中心值是如何工作的?

我也尝试过申请differenceInMouseWheel()centerZ但没有任何改变,我假设中心值只是这样 glu 可以得到一个方向,仅此而已。

也许向上向量应该改变?我现在不知道。

0 投票
2 回答
1386 浏览

opengl - 如何从“gluUnProject”中获取射线

我的基本问题是 - 使用“gluUnProject”从我的鼠标/光标位置获取射线或法线向量的正确方法是什么。

我已将 mesa glu C 代码中的“gluUnProject”代码转换为 C#。

然后我从我的 Camera 对象中调用此方法:

为了从射线中获取我的法线向量,我这样做:

一切正常,直到我将我的 LookAt 点移到 X 中的 1 上并在 X 和 Y 轴上稍微旋转相机。之后,向量不再正确。我不知道我做错了什么??

编辑:仔细观察后,我认为我的 Matrix4.Invert 方法可能是原因。我正在尝试使用 Row Major,有什么想法吗?

0 投票
1 回答
2380 浏览

c++ - 使用 OpenGL 和 gluLookAt 围绕球体旋转

好的,所以我尝试单击并拖动以使用 C++ 和 OpenGL 围绕对象旋转。我的方法是使用以原点为中心的 gluLookAt 并通过使用球体的参数方程来获取眼睛的坐标 (eyex = 2* cos(theta) * sin(phi); eyey = 2* sin( theta) * sin(phi); eyez = 2* cos(phi);)。这很有效,因为我可以单击并水平旋转,但是当我尝试垂直旋转时,它会形成紧密的圆圈而不是垂直旋转。我试图通过使用相机的位置和沿 xz 平面成 90 度角的向量来获得向上向量,并取其叉积。我的代码如下:

我有点基于,但它不起作用,所以我尝试了我的方法。

0 投票
1 回答
14013 浏览

c++ - OpenGL - Explain glutInitDisplayMode()

Explain in detail what functionality is provided by the settings in the line:

so far i know that this line will initialize the display mode by requesting a double buffere setting, setting a RGBA window mode and request a depth buffer but how can i explain this more simply. i want to describe each argument in simple English

0 投票
1 回答
250 浏览

opengl - 对于任何了解 OpenGL 的人

我很困惑。我一直在尝试从 OpenGL 开始,但我根本没有任何成功。

细节:我似乎一直在尝试使用 Mesa 3D,它甚至不是严格的官方 OpenGL 实现。Mesa 3D 甚至使用 GPU 吗?我有 4.0 版(类似于 OpenGL 1.3 版实现)。我不知道如何获得另一个实现库;我什至不知道还有什么其他人。(Mesa 3D 由我的 dev-cpp 编译器提供)

事实上,我并没有完全理解 OpenGL 是什么。

此外,我无法让 freeglut 或 glut 或 glu 工作。他们正在调用不存在的函数,例如 gluOrtho 和 gluPerspective。这是由于使用 Mesa 3D 造成的吗?有什么办法可以让这些整个库真正工作吗?

0 投票
3 回答
943 浏览

qt - 气缸未显示在屏幕上

好吧,我想做的是使用 GLUquadricObj 和 gluCylinder 绘制一个圆柱体,无论圆柱体没有显示在 OpenGL 小部件上,代码都能很好地编译。

是什么阻止了气缸显示?

0 投票
1 回答
1335 浏览

qt - 无顶部和填充 gluCylinder()

好吧,我对 gluCylinder() 有疑问,它不允许我做这些事情。我正在尝试做的是给气缸没有顶部并将其填充到里面。

所以问题是,我如何给 Cylinder no-top (意思是它没有顶部),我一直在尝试修改“top”参数但没有成功,我如何将它填充到里面?

0 投票
2 回答
291 浏览

java - OpenGL矩阵没有正确旋转

好的,所以我得到了 gluLookAt 的代码:

当我尝试绘制一个旋转的立方体时,它不能正确旋转。

所以我的问题是我是否正确处理了 glulookat 对矩阵所做的更改?还是我做错了什么?我正在寻找的结果是将立方体返回到 0,0,0 并旋转它,然后将其放回原处。

0 投票
2 回答
1003 浏览

opengl - 查看圆柱体内部

如果我在上面画gluCylinder一个gluDisk。在不启用剔除的情况下,我得到了带有盖子效果的所需圆柱体。但是,如果我启用剔除,磁盘(又名盖子)就会消失。 这是为什么? 这是主要问题。此外,启用剔除后,圆柱体的背面也不会被绘制。我明白为什么会发生这种情况,但我仍然希望看到圆柱体内部的绘制。代码是:

0 投票
1 回答
4732 浏览

c - gluCylinder() OpenGL 的工作原理

我想用 OpenGL 建立一个板球场。我制作了几个多边形来表示场地、球场和保龄球线。但问题是当我试图用gluCylinder我做深度的树桩时glEnable(GL_DEPTH_TEST),我的多边形就不起作用了。我只想知道如何使用 gluCylinder 用我制作的多边形制作树桩。

我有以下代码,但想在这里添加树桩但我不能,