问题标签 [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 投票
20 回答
6753 浏览

windows - 用于新的 Windows 游戏项目的 OpenGL 或 Direct3D?或者是其他东西?

我正在 Windows 上开始一个爱好游戏项目,它将大量使用 3D 图形效果。它很可能是用 C++ 编写的。

我应该为我的图形后端使用 OpenGL 还是 Direct3D?为什么?

还是应该使用现成的图形引擎,例如OGRE 3D?哪一个?

一些“如何开始”链接会很有用。(在任何一种技术上,或两者兼而有之。)

编辑- 是的,我真的是指 Direct3D,而不是 DirectX,感谢graham.reeds的澄清

编辑- Mihai Lazar指出我还可以使用 OGRE 3D 等图形引擎。编辑了问题以反映这种选择。

0 投票
1 回答
23671 浏览

c++ - 如何使用 OpenGL、SDL 和 C++ 绘制文本?

我听说过我在这里读到的 SDL_TFF,但我不明白我应该如何连接 TrueType2 库。

也许那里有更好的东西?

0 投票
1 回答
4064 浏览

cocoa - 使用 OpenGL 和 Cocoa 绘制文本的最佳方法?

有谁知道在 Cocoa NSOpenGLView 中绘制任意文本的简单方法?我有几个限制。

  • 屏幕上的文本可能会逐帧变化(例如,角落的帧率显示)
  • 我希望能够选择系统上安装的任何字体大小
0 投票
4 回答
6503 浏览

opengl - OpenGL和闪烁

当 CallList 中的对象与近平面相交时,我会闪烁...,我该怎么办?

我使用 OpenGL 和 SDL。

是的,它是双缓冲的。

0 投票
2 回答
961 浏览

c++ - c ++具有多个图形选项

目前,我的应用程序仅使用 Direct3D9 进行图形处理,但将来我计划将其扩展到 D3D10 和可能的 OpenGL。问题是我怎样才能以整洁的方式做到这一点?

目前我的代码中有各种Render方法

然后传递的函数取决于确切的状态,例如 MainMenu->Render、Loading->Render 等。这些将经常调用其​​他对象的方法。

以及从 entity::Base 派生的示例类

然后,每种方法都会根据更详细的设置(例如是否支持像素着色器)来处理如何最好地渲染。

问题是我真的不确定如何扩展它以能够使用其中一种可能有所不同的(D3D v OpenGL)渲染模式......

0 投票
3 回答
1547 浏览

debugging - 调试 VBO 顶点缓冲区崩溃

我正在使用 VBO 扩展来存储顶点、法线和颜色缓冲区 (glBindBufferARB) 出于某种原因,在更改缓冲区或执行某些操作时,应用程序会因访问冲突而崩溃。附加调试器时,我看到崩溃发生在某个线程中,该线程不是我的主线程,该线程执行 opengl 调用,并在与 nvidia 图形驱动程序相关的某个 dll 中执行。

可能发生的事情是我给了一些缓冲区调用错误的缓冲区或大小错误。所以我的问题是,我该如何调试这种情况?崩溃似乎发生在实际调用之后的某个时间并且在不同的线程中。

0 投票
6 回答
13513 浏览

java - 什么是最好的 OpenGL java 绑定?

我正在尝试为我的 Java SWT 应用程序实现更好的性能,我刚刚发现可以在 SWT 中使用 OpenGL。似乎有不止一种用于 OpenGL 的 Java 绑定。你更倾向哪个?

请注意,我以前从未使用过 OpenGL,并且该应用程序需要在 Windows、Linux 和 Mac OS X 上运行。

0 投票
2 回答
1105 浏览

python - 为什么我的 pyglet 顶点列表和批处理在 Windows 上会很慢?

我正在使用库 pyglet 在 python 中编写 opengl 代码。当我使用 pyglet.graphics.vertex_list 或 pyglet.graphics.batch 对象在屏幕上绘制时,与普通的旧 pyglet.graphics.draw() 或 glVertex() 调用相比,它们非常慢(~0.1 fps),这大约是相同几何图形的 40fps。在 Linux 中,vertex_list 的速度与 glVertex 大致相同,这令人失望,而批处理方法的速度大约是后者的两倍,这比我希望的要好一些,但收益并不多。

0 投票
7 回答
2933 浏览

c++ - 使用并行处理在 C++ 中制作游戏

我想在 C++ 中“模拟”流行的 Flash 游戏 Chrontron,需要一些帮助才能开始。(注:不是为了释放,只是为自己练习)

所以,这解释了游戏是如何运作的。你应该玩一点才能真正理解我的问题是什么。

我在想一个解决这个问题的好方法是使用链表来存储每个状态,这可能是基于时间的哈希映射,或者是基于时间迭代的链表。我仍然不确定。

实际问题:

现在我有了一些粗略的规范,我需要一些帮助来决定使用哪些数据结构,以及为什么。另外,我想知道我应该使用什么图形 API/图层来执行此操作:SDL、OpenGL 或 DirectX(我目前的选择是 SDL)。我将如何实现并行状态?使用并行线程?

编辑(澄清更多):
操作系统——Windows(因为这是一个爱好项目,以后可能会在 Linux 中这样做)
图形——2D 语言——C++(必须是 C++——这是下学期课程的练习)

Q-Answered: SDL : OpenGL : Direct X
Q-Answered: Avoid Parallel Processing
Q-Answered: 使用 STL 实现时间步操作。

附加到这个问题,我以前主要使用过 C#、PHP 和 Java,所以我不会将自己描述为一个能手的程序员。哪些 C++ 特定知识可以帮助我更轻松地完成这个项目?(即向量?)

0 投票
4 回答
790 浏览

opengl - 使用 GPU 查询点 epsilon-close 到点云中的剖切面

我正在尝试使用 GPU 功能解决当前的问题:“给定一个点云 P 和一个由点和法线 (Pp, Np) 描述的定向平面,返回云中距离等于或小于 EPSILON 的点从飞机上”。

与我的一位同事交谈后,我得出了以下解决方案:

1) 准备一个带有附加纹理坐标的点的顶点缓冲区,这样每个点都有不同的顶点坐标 2) 将投影状态设置为正交 3) 旋转网格,使平面的法线与 -z 轴对齐,并且偏移它使得 x,y,z=0 对应于 Pp 4) 设置 z 剪切平面使得 z:[-EPSILON;+EPSILON] 5) 渲染到纹理 6) 从显卡中检索纹理 7)从显卡读取纹理并查看渲染了哪些点(根据它们的索引),这些点是所需距离范围内的点。

现在问题如下: q1)我需要打开一个窗口框架才能进行这样的操作吗?我在 MATLAB 中工作并调用 MEX-C++。根据经验,我知道一旦你打开一个新框架,整个套装就会惨遭崩溃!q2) 为 GLPoint 提供纹理坐标的原语是什么?q3) 我不太清楚如何实现对纹理的渲染?任何参考,教程都会很棒... q4)您将如何从卡中检索此纹理?再次,任何参考,教程都会很棒......

我的日程安排很紧,因此,如果您能指出我应该学习的技术的名称,而不是像有人所做的那样指向 GLSL 规范文档和 OpenGL API,那就太好了。这些对我的问题的回答有点太模糊了。

非常感谢您的任何评论。

ps 另请注意,如果可能的话,我宁愿不使用像 CUDA 这样的任何资源,因此,在不需要我编写新着色器的情况下,获得使用尽可能多的 OpenGL 元素的东西。

注意:交叉发布在 http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245911#Post245911