问题标签 [opengl-compat]

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

c++ - GL_Points 上的 gluUnproject 或从鼠标坐标中找到深度坐标

我有一个由很多点组成的场景,我使用这些点绘制

我希望做的是能够使用鼠标单击场景中的一个点并获得其 3-D 坐标。

我见过其他要使用的线程:

并使用 z 的值

但我总是得到z=0输出。这是因为这些是点而不是多边形吗?有没有办法获得 z 的坐标?

0 投票
3 回答
2935 浏览

opengl - GLSL 固定功能片段程序替换

当使用 OpenGL 固定函数管道进行顶点设置时,片段程序看起来如何与固定函数顶点设置兼容?我想这通常取决于光源和纹理层等的数量。例如,一个简单的非纹理单光源 goraud 着色片段程序看起来如何取代 GL 的固定功能着色器?

0 投票
2 回答
765 浏览

c - 为什么调用 glLoadIdentity() 后出现 1282 错误?

代码:

GL_INVALID_OPERATION
当前状态不允许指定的操作。有问题的命令被忽略,除了设置错误标志之外没有其他副作用。

当我收到错误时,我使用 gDEBugger 检查 openGL 的状态。

我不知道哪里错了。为什么不允许简单的操作?

0 投票
1 回答
1155 浏览

java - 按纵横比拉伸的 OpenGL 2D 投影

我目前正在尝试使用 JOGL 将我的 2D java 游戏的绘图方法转换为 OpenGL,因为本机 java 在快速连续绘制高分辨率图像方面似乎相当慢。现在我想使用 16:9 的纵横比,但问题是我的图像被拉伸到两侧。目前我只画一个白色的旋转四边形来测试这个:

我知道你可以通过使用 glOrtho() 以某种方式解决这个问题,我现在为此尝试了许多不同的值,但它们都没有实现未拉伸的图像。我该如何使用它?或者有另一个简单的解决方案吗?

0 投票
1 回答
197 浏览

c++ - 如何使用材质的环境颜色而不是灯光的全局环境颜色?(OpenGL 1)

我正在用 OpenGL 1.1 编写我的编程的灯光效果。灯光和法线的东西有效。我只有错误的颜色

我想使用所用材料的环境颜色,而不是全局环境光。

当我使用此代码时,我有一个深灰色(64、64、64)用于遮光的脸,但绝不是黑色(0、0、0)。

这是伪代码:

0 投票
1 回答
4540 浏览

c++ - 用鼠标在OpenGL GLUT中绘制一个多边形

我想通过鼠标交互在openGL Glut中绘制一个多边形,每次左键单击都将是一个顶点,并且将在每个顶点之间绘制一条线。单击鼠标右键时,多边形将关闭,从最后一个顶点到第一个顶点绘制一条线。我想出了这个,但它似乎不起作用。

我还试图找出如何添加一个功能,当我从菜单中选择时,我可以从创建这个多边形到编辑它,我可以选择一个顶点,移动它,形状会相应地改变。

0 投票
1 回答
1341 浏览

python - 在 PyOpenGL 中包裹整个球体的纹理

我在此处复制了更正的代码,以将我自己的太阳成像数据集中的纹理应用到 OpenGL 球体上。在这样做时,我注意到纹理并没有完全包裹在球体周围——只有“前半部分”——并且没有应用照明阴影(在该问题的答案中也很明显)。

如何修改代码以将纹理包裹在整个球体周围?

这是纹理图像,它是 360 度经度 x 正弦(纬度)格式的数据(实际上应该在应用于球体之前将其转换为经度 x 纬度,但这是一个细节......):

在此处输入图像描述

这是纹理映射的结果,显示图像仅应用于前/可见半球:

在此处输入图像描述

0 投票
2 回答
845 浏览

python - GL_QUAD 绘制三角形

我正在尝试用 . 填充由 4 行生成的四边形GL_LINES。但是,当我尝试填充四边形时,它只填充三角形。这是绘制线条的代码:

这是绘制填充四边形的代码:

这是我传入的顶点矩阵:

这是我得到的结果:

0 投票
1 回答
5267 浏览

c++ - 使用OpenGL在圆圈中移动对象?

我有一个对象,我想在 Open GL/Visual Studio 中绕圈移动。但到目前为止,该物体仅围绕自身旋转。

我怎样才能让它以循环方式移动?

目前,它只是立即平移对象,而不是在我的旋转动画过程中。

这是我在显示功能中的代码 - 因为有人告诉我如果你不希望对象围绕自身旋转,你需要翻译。但到目前为止,我的对象只是完全忽略了这里的翻译,仍然围绕着自己旋转..

这是我稍后定义我在 glRotatef 调用中使用的角度的动画函数:

0 投票
1 回答
398 浏览

python - 射线相交未命中目标

我正在尝试选择一个 3d 点。我阅读了各种网站,但我的代码不起作用。

鼠标右键:

Intersect_sphere 函数:

编辑:我发现一个错字。即使更改代码后仍然无法正常工作。