问题标签 [glkit]

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 投票
3 回答
3514 浏览

ios - 裁剪 UIImage 以与 GLKTextureLoader 一起使用

我正在尝试从 UIImage 中裁剪一个区域以与 GLKTextureLoader 一起使用。我可以使用 UIImage 直接设置纹理,如下所示:

但是,如果我尝试以这种方式裁剪图像:

我收到此错误:

如何使用 GLKTextureLoader 将 UIImage 的一部分用作纹理?

0 投票
2 回答
1617 浏览

opengl-es - GLKView 和 OpenGLES 1.1 的纹理?

我在获取纹理以使用 iOS 5 方式(使用 GLKView)但使用老式 OpenGLES 1.1 时遇到问题。我正在迁移一个旧的 2D(精灵)风格的游戏框架。我在 Xcode 中使用了 OpenGL 游戏的示例,并对其进行了修改以使用 kEAGLRenderingAPIOpenGLES1 初始化 EAGLContext。我也没有尝试使用 GLKTextureLoader 和 GLKBaseEffect,因为我有旧的纹理加载器算法(并且基础效果适用于着色器)。这是我目前在 ViewController 中的内容:

在 setupGL 中:

问题从这里开始,我从 OpenGL 得到 0x0500 错误,上面的最后一行。我真的不知道有什么区别,因为这在旧代码中可以正常工作(或者至少如果不是,那么它不是问题的根源)。如果我使用 GL_MODULATE 而不是 GL_APLHA,则不会出现 GL 错误,但纹理仍然不起作用。这就是我加载它们的方式:

其余的基本上是对我的旧渲染引擎的调用,然后它将顶点数据发送到 OpenGL,但我想这应该没问题,因为它在旧代码中工作。那么我在这里想念什么?任何帮助,将不胜感激。

0 投票
2 回答
2201 浏览

ios - iOS:据我所知,GLKit 矩阵乘法被破坏了

这是源代码。ANSWER是正确答案,RESULT是实际结果。

我是盲目的,还是它应该是在计算 a-1进入的时候?331

这是代码:

这是输出:

在过去的 5 个小时里,我一直在尝试调试一些 OpenGL 代码,却发现这是问题所在。我一定是错过了什么,当然。任何人都可以发现发生了什么,或验证这不应该发生吗?

0 投票
1 回答
2027 浏览

ios - iOS:关于 GLKMatrix4MakeLookAt 结果中的相机信息的问题

iOS 5 文档显示其GLKMatrix4MakeLookAt操作方式与gluLookAt.

此处提供了定义:

我正在尝试从中提取相机信息:

有两个问题:


  1. 观察向量在他们定义时似乎被否定了,因为它们执行(eye - center)而不是(center - eye). 事实上,当我GLKMatrix4MakeLookAt使用 的相机位置和我提取(0,0,-10)的外观中心调用时,即是我所期望的负值。那么我应该否定我提取的内容吗?(0,0,1)(0,0,-1)

  2. 我提取的相机位置是视图变换矩阵预乘视图旋转矩阵的结果,因此是其定义中的点积。我认为这是不正确的 - 任何人都可以建议我应该如何计算位置?


非常感谢您的时间。

0 投票
1 回答
2832 浏览

iphone - 使用 GLKit 进行跨平台开发?

我刚刚安装了当前的 Xcode 4 版本并实现了新的“GLKit”API,它也用于 iOS 的 OpenGL 模板中。所以,我想为 iOS、Mac 和 Windows 开发一个跨平台游戏。GLKit 似乎在可移植性方面倒退了一步,但 GLKit 功能(特别是异步纹理加载)有很大的好处......

如何使用 GLKit 开发跨平台游戏?我需要写两次任何图形代码,对吧?或者是否有类似 Windows 的 GLKit 实现?

欢迎任何想法、解决方法、代码设计建议(如何将 GLKit 代码与其他组件分开?) - 谢谢!

0 投票
3 回答
2750 浏览

ios5 - 在 Open GL ES 2.0 (iOS GLKit) 中处理多个网格?

我已经设法使用 iOS 的 GLKit 在 Open GL ES 2.0 中创建了一个网格。我想不通的是如何创建第二个网格,它看起来与第一个网格相同,只是位置不同。

我认为如果有人可以简单地提供一些绘制多个网格的示例代码,那将是最有帮助的,因为我认为我这样做完全错误。尽管如此,这里列出了我为尝试完成这项工作所做的工作。

  • 我创建了两个顶点信息的 C 数组。第一个是我的模板(以 0,0,0 为中心的硬编码坐标),第二个是我想要显示的模板(最初为空)。
  • 我创建了两个索引信息的 C 数组。与顶点信息的处理相同。
  • 我有两个全局变量 int,vertexCount 和 indiceCount,最初都是 0。
  • 我有 ac 函数 createAt(float x, float y, float z)。此函数将我的顶点模板复制到我的顶点显示数组中,然后将传入的偏移量应用于每个顶点。它还复制索引并应用偏移量,以便它们指向新的显示顶点。

但这不起作用。只有一个对象被绘制在屏幕上。

查看其他人的问题和答案,听起来可能我应该有多个顶点缓冲区?我不知道; 我非常困惑。

0 投票
0 回答
1427 浏览

opengl-es - 使用 addChildViewController 添加的情节提要中定义的 GLKViewController 不会更新

我在故事板中定义了一个带有标识符的 GLKViewController。我用代码将它添加到另一个视图控制器

我已经在 GLKViewController 的 viewDidLoad 中定义了

我验证了这个 viewDidLoad 被调用并且一切都存在。但是 - (void)glkView:(GLKView *)view drawInRect:(CGRect)rect 没有被调用,也没有 -(void)update

GLKViewController 没有暂停,它的 fps 设置为 30。为什么它不调用委托方法?我在以前的应用程序中作为根视图控制器完成了此操作,这当然可以工作。子视图控制器是 iOS 5 中的一项新功能,没有任何文档表明这不应该工作。我错过了什么?

回答:

缺少什么(以防其他人遇到此问题)。

由于 GLKViewController 中嵌入了一个视图,因此您需要将其添加为子视图,否则它不会出现在任何地方。哦!

0 投票
1 回答
319 浏览

ios - 为什么 GLKView 在界面生成器中有上下文属性?

如果我在界面生成器中创建 GLKView,我会看到几个与 gl 上下文相关的可配置属性(例如颜色格式)。如果我必须手动创建上下文,为什么会存在这些属性?

0 投票
1 回答
3663 浏览

ios - 在 GLKit (iOS 5) 中使用 GL_POINTS

OpenGL 的新功能,我在 iOS 5 上使用 GLKit 和 GL_LINE_LOOP 成功地显示了线条,但是用 GL_POINTS 显示点给我带来了麻烦。具体来说,除了一个像素外,我无法显示任何内容。我在网上搜索没有成功,所以我希望有人能指出我所缺少的。

这是我的测试代码...

谢谢你的时间!

0 投票
0 回答
517 浏览

ios - GLKTextureLoader 完成处理程序 EXEC_BAD_ACCESS 问题

我可以使用 GLKTextureLoader 加载纹理,但是当我尝试在单独的线程上执行此操作时,我遇到了 EXEC_BAD_ACCESS 问题。

工作代码。

失败的代码。

附加信息。在完成块正在运行的线程上,我使用以下内容获得 EXEC_BAD_ACCESS 在此处输入图像描述

有没有人设法让它工作?