问题标签 [opengl]

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 投票
9 回答
11043 浏览

python - OpenGL 用户界面编程

我正在开发一个图形应用程序来呈现数据(不是游戏,而是一个真正的主力应用程序)。它需要是跨平台的,所以我选择了:

  • Python
  • openGL(我需要 3D、混合、纹理等)
  • pyopengl
  • wx/pywx - 窗口、对话框等。

最后一个组件——WX——提出了这个问题。我可以组装一个非常漂亮的应用程序(原型看起来很漂亮) - 但是当我需要与用户交互以提出问题、获取输入时,我必须使用 WX。在具有混合、平滑运动、纹理等的全屏 3D 应用程序之上具有带有传统对话框和组合以及文本输入的传统 UI,这使得应用程序看起来不一致。

有没有人使用 OpenGL 和 python 开发过 GUI?你能和我分享你使用的工具包和/或技巧吗?我需要组合、文本输入、按钮、收音机、选项按钮、树视图。

那里有一些工具包,但它们要么不完整,要么陈旧且未维护。一个很好的例子是 pyUI ( http://pyui.sourceforge.net/ ) - 看起来很漂亮但多年来没有受到影响。

0 投票
3 回答
1146 浏览

c - 在 OpenGL 中绕视线旋转时如何防止变形?

我在 XZ 平面上画了一个椭圆,并在 Y 轴和 Z 轴上稍微向上设置我的视角,从 45 度角看椭圆的中心,使用 gluPerspective() 设置我的视锥.

椭圆

未旋转时,椭圆的长轴跨越了我的视口的宽度。当我围绕视线旋转 90 度时,椭圆的长轴现在跨越视口的高度,从而使椭圆变形(在这种情况下,使其看起来不那么偏心)。

旋转椭圆

我需要做些什么来防止这种变形(或至少考虑它),所以围绕视线的旋转保留了椭圆的感知主轴(在这种情况下,导致它超出视口)?

0 投票
1 回答
2599 浏览

opengl - OpenGL:纹理和纯色对环境光的反应不同?

这是我在 OpenGL 应用程序中遇到的一个相当老的问题。

我有一个相当复杂的模型,其中的一些多边形是无纹理的,并且使用带有 glColor() 的纯色着色,而其他多边形是有纹理的。一些纹理与无纹理的多边形颜色相同,两者之间不应有可见的接缝。

问题是当我打开光源的环境分量时,两种多边形之间的接缝出现了。

看到这张图片: http ://www.shiny.co.il/shooshx/colorBug2.png

左图没有任何环境光,右图有环境光(0.2,0.2,0.2)。

纹理上颜色的 RGB 值与彩色面的 RGB 值相同。纹理 alpha 到处都设置为 1.0。

为了给纹理着色,我使用 GL_MODULATE。

谁能想到会发生这种情况的原因以及可能的解决方案?

0 投票
1 回答
1576 浏览

opengl - 在 GPU 上计算图像相似度 [OpenGL/OcclusionQuery]

OpenGL。假设我已经绘制了一张图像,然后使用 XOR 绘制了第二张图像。现在我在某处有非黑色像素的黑色缓冲区,我读到我可以使用着色器来计算 GPU 上的黑色 [ rgb(0,0,0) ] 像素?

我还读到它必须与 OcclusionQuery 做一些事情。 http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt

有可能吗?怎么做?[任何编程语言]

如果您对如何通过 OpenGL/GPU 找到相似性有其他想法 - 那也很棒。

0 投票
6 回答
1255 浏览

opengl - AMD 64 位双核优化

我们有一个图形密集型应用程序,它似乎在 AMD 64 位双核平台上遇到问题,而在 Intel 平台上并不明显。

运行应用程序会导致 CPU 以 100% 运行,尤其是在使用阴影和照明代码 (Open GL) 时。

有谁知道 AMD 处理器的具体问题可能导致此问题,或者知道在哪里追查问题,和/或优化代码库以避免这些问题的方法?

请注意,该应用程序通常在中档硬件上运行良好,我的开发机器有一个 nvidia gtx260 卡,所以电源不足应该不是问题

0 投票
7 回答
19253 浏览

opengl - 在openGL中绘制可变宽度线(无glLineWidth)

不使用 glLineWidth 绘制可变宽度线的最佳方法是什么?只画一个矩形?各种平行线?以上都不是?

0 投票
2 回答
5981 浏览

iphone - 如何在 OpenGLES 中翻转精灵/纹理?

我有一个作为纹理加载的精灵,我需要为它设置动画,让它“面向”左或右——基本上有时我需要“翻转”它。我知道 OpenGL 有一个 gltranslate 可以重新定位一个对象,而 glrotate 可以旋转它。有没有一种方法可以简单地将它翻转到一个轴上?如果没有,您将如何实现这一目标?

0 投票
5 回答
17109 浏览

linux - 如何从我的 windows 机器运行安装在 linux 机器上的 OpenGL 应用程序?

本着乐于助人的精神,这是我遇到并解决的问题,所以我将在这里回答这个问题。

问题

我有:

必须安装在 Redhat 或 SuSE 企业上的应用程序。

它有巨大的系统要求并且需要 OpenGL。

它是一套工具的一部分,需要在一台机器上一起操作。

此应用程序用于工时方面的时间密集型任务。

我不想坐在服务器机房里处理这个应用程序。

所以,问题来了......我如何从远程 Windows 机器运行这个应用程序?

我将概述我的解决方案。随意评论替代品。该解决方案也适用于更简单的环境。我的情况有些极端。

0 投票
4 回答
8237 浏览

opengl - OpenGL:将鼠标点击投影到几何体上

我有这个视图集:

我通过鼠标点击获得屏幕位置(sx,sy)。

给定 z 值,我如何从 sx 和 sy 计算 3d 空间中的 x 和 y?

0 投票
1 回答
3092 浏览

c - 如何在 OpenGL 中获取矩阵堆栈的当前大小?

如何在 OpenGL 中获取矩阵堆栈(GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE)的当前大小?

我想要这个,以便我可以进行一些错误检查,以确保在代码的某些部分我可以检查矩阵堆栈是否保持在原始状态。