问题标签 [opengl-es]

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 投票
1 回答
6320 浏览

iphone - 在 OpenGL ES 中,如何将屏幕坐标转换为世界坐标?

这适用于 2D 游戏,因此只有 x 和 y 轴。游戏在 iPhone 上处于横向模式。我希望能够设置渲染纹理的屏幕 x 和 y 坐标。

0 投票
1 回答
333 浏览

iphone - 如何开始为 iPhone OpenGL ES 开发实现我自己的 VGP 代码?

我如何开始为 iPhone OpenGL ES 开发实现我自己的顶点几何处理器代码,以便充分受益于其 VGP Lite 芯片?

0 投票
4 回答
6390 浏览

opengl-es - 为 OpenGL (ES) 创建一个稳定的(帧率稳定的)游戏引擎

我无法为我的 OpenGL 应用程序创建可靠的游戏引擎。这是一款由多个动作的精灵组成的游戏。

我创建的对象基本上都是我的精灵。另一个名为“gameEngine”的对象每隔几秒(一个计时器)循环执行一组计算,从而产生新的游戏变量。之后,精灵对象现在知道它们的绘图数据。

问题是,在收集了我所有的绘图数据后,绘图应该在正确的时间进行,从而产生稳定的动画。根据当前场景的复杂性,游戏计算需要不确定的时间量。因此,实际绘图发生在不同的时间点。我将如何防止这种情况发生?

为了澄清,我的方法是这样的:

必须有构建这样的游戏引擎的最佳实践我不知道吗?

0 投票
1 回答
166 浏览

opengl-es - 如何确定模型中的哪个三角形位于屏幕坐标 x,y 处?

为 OpenGL ES 开发,因此无法访问 glut 或 glu。

我想知道确定哪个三角形落在 (x,y) 的屏幕点下的最佳方法是什么。

0 投票
2 回答
3835 浏览

iphone - iPhone 上的凹凸贴图

在 iPhone 上使用 OpenGL ES,是否可以做凹凸贴图(使用普通扰动贴图)?

从我的谷歌搜索来看,支持它的 OpenGL ES 扩展似乎不允许凹凸映射。

根据这个为 iphone 编写游戏中间件的人的说法,人们可以通过观看 imgtec 网站(iPhone 图形芯片的标志)上的演示来了解硬件的潜力。一个这样的演示是凹凸映射演示。但是找不到来源。

Kevin Doolan还提到没有为开发人员启用 GL 扩展。

0 投票
6 回答
10040 浏览

iphone - 在 OpenGL ES 中设置 glFrustumf

我在 OpenGL ES 中设置透视图时遇到了一些麻烦。有人有任何提示吗?我的正交项目看起来像这样: glOrthof(-8.0f, self.frame.size.width, -12.0f, self.frame.size.height, -8.0f, 20.0f);

如何使用 glFrustumf 进行类似的设置?

0 投票
3 回答
2999 浏览

.net - 具有不同入口点的 DllImport(不同项目中相同导入的不同 DLL)

作为我最近关于 .NET Compact Framework 调试的问题的后续,我目前正在尝试从 .NET Compact Framework 和 .NET Framework 应用程序中使用 OpenGL ES。我使用这个包装器,它是为 OpenGL ES 创建并从 libGLES_CM.dll 导入的。

为了使调试更容易,我创建了一个 .NET Framework 应用程序,使用相同的文件重新创建了 OpenGL ES 和 EGL 的导入项目(只是为桌面框架构建),为 DLL 名称创建了常量,以便它们将从 libGLESv2.dll 和Windows 上的 libEGL.dll 和 CF 上的 libGLES_CM.dll。DLL 来自 PowerVR OpenGL ES Emulation SDK(目标设备具有 PowerVR SGX)并且只是围绕真实 OpenGL 实现的 OpenGL ES 包装器。问题来了:

在包装器库中,OpenGL 函数位于两个静态类(gl 和 egl)中,并具有通常的名称,但没有 gl/egl 前缀,因此调用它们将egl.GetDisplay()代替egl.eglGetDisplay(). 它们是这样导入的:

这在 Compact Framework 上运行良好。根据_eglGetDisplay@4 _ _到 Dependency Walker。

我设法将下划线添加到桌面项目的函数名称中,但不是为 CF 项目,通过有条件地将字符串常量设置为空字符串或“_”,并将它和入口点名称连接起来,所以它看起来像这:

这里没问题。但是仍然找不到该函数,因为缺少@4(那到底是什么?)。如果我添加@4,这可行,但由于这里所有函数都有不同的值,我必须手动执行此操作,并且对于 CF 版本,这些数字可能不正确。奇怪的部分来了:

如果我只是不指定入口点,而是将函数命名为应该命名的函数,则导入工作正常!现在这很丑,因为有双重前缀(静态类名和函数名),尽管我可以通过为此添加一个包装器来解决这个问题。因为我不会严重依赖这些功能(只需要一个相当简单的 2D 引擎),这不会是一个问题,但它只是感觉不对。

为什么指定入口点时不起作用?我该怎么做才能让它像它应该的那样工作?

0 投票
3 回答
12970 浏览

iphone - How to implement water ripples?

I'm working on an iphone game. In that i had to produce water ripples. I dont know how to get that. I heard thatit can be done with openGL. I am very new to this concept. Can any one guide me?

0 投票
5 回答
1109 浏览

objective-c - 呈现 Renderbuffer 时,是什么导致执行时间波动?(OpenGL)

这就是发生的事情:

  • usleep正如建议的那样,由于 a , drawGL 函数在帧的确切结束处被调用。这已经保持了稳定的帧速率。

  • 渲染缓冲区的实际呈现发生在drawGL(). 测量执行此操作所需的时间会给我带来波动的执行时间,从而导致我的动画卡顿。这个计时器使用 mach_absolute_time 所以它非常准确

  • 在我的框架结束时,我测量timeDifference. 是的,平均为 1 毫秒,但偏差很大,从 0.8 毫秒到 1.2 毫秒不等,峰值高达 2 毫秒以上。

例子:

我的理解是,一旦创建了帧缓冲区,无论帧的复杂性如何,呈现渲染缓冲区都应该始终付出同样的努力?这是真的?如果没有,我该如何防止这种情况?

顺便说一下,这是一个 iPhone 应用程序的示例。所以我们在这里讨论的是 OpenGL ES,尽管我不认为这是一个特定于平台的问题。如果是,那是怎么回事?这不应该不会发生吗?再说一次,如果是这样,我怎样才能防止这种情况发生?

0 投票
2 回答
148 浏览

iphone - 如何进行纹理修改

我正在研究 iphone opengl es。我是这个的新手。谁能指导我如何进行..