jjzjj

iphone - 如何用 GLKit 的 OpenGL View 替换 OpenGL ES 1.1 EAGLLayer View ?

我有一个直接使用EAGLLayer的简单游戏。我必须设置运行循环和所有OpenGLES样板。游戏有时会因为OpenGL后台问题而崩溃。我听说GLKit有一个强大的样板OpenGLView,它负责OpenGL初始化和挂起。是否可以为OpenGL1.1设置这个GLKitView,我应该从哪里开始? 最佳答案 这是一个相当开放的问题,因此最好先让自己了解一些GLKit的背景知识,然后在遇到具体问题时提出更多问题。看看使用“OpenGL游戏”模板创建新Xcode项目时获得的代码——这会为您设置一个GLKView和GLKViewControl

ios - GLKit 中的深度测试

我是OpenGL/GLKit的新手,在深度测试方面遇到了麻烦。下图显示了一个柱子,有五个横梁与它相交。它们都在中间(柱子内部)相遇,但正如您所见,本应被遮挡的光束部分仍然可见。它们疯狂地闪烁,当我改变View使光束在屏幕上重叠时,同样的事情发生了。如果我不使用glEnable(GL_CULL_FACE),那么它会在每个形状内发生,即后多边形的背面被绘制并干扰前多边形的正面。以下是我认为相关的代码片段,我省略了有关设置顶点和视角的内容。希望有人会认识到这个问题并且那里有Elixir。在我的ViewController中-(void)viewDidLoad{[superviewDidLoa

ios - GLKit.framewok 与 OpenGLES.framework 与 QuartzCore.framework

我正在向我的应用程序添加一个GLView并且在此过程中我了解到IneedtoaddtheGLKitframework.所以当我添加这个框架时,我意识到有一个名为OpenGLES.framework的框架非常相似。我试图在谷歌上查找这两个框架之间的区别,然后我找到了thispage.这篇文章似乎暗示我需要一个名为QuartzCore.framework的额外框架,这让我更加困惑。我有以下问题:1)这些框架如何相互关联?2)似乎只有GLView框架才能使GLView工作。我什么时候需要使用其他两个框架? 最佳答案 OpenGLES是一种

多维数据集的 IOS GLKit 纹理

IOSOpenGL编程的新手。我已经完成了一些讨论OpenGLES基础知识的教程,并且能够创建一个小型演示程序来在场景中我想要的位置绘制立方体。我喜欢在立方体的表面应用纹理,但出于某种原因,这似乎是一项几乎不可能完成的任务。我正在使用GLKit,我已经搜索了所有内容,但找不到关于如何在没有很多其他绒毛的情况下执行此操作的简单教程。任何人都可以指出我正确的方向或有这方面的教程吗?看起来这不应该是一件很难的事情。我一定是错过了什么.. 最佳答案 这里有很多关于这个的教程http://www.raywenderlich.com/或在这里h

ios - GLKit 深度测试不起作用

我正在使用RayWenderlich的教程使用GLKit制作一个简单的OpenGlES2应用程序,但我遇到了一些问题。我将示例代码更改为通过将顶点和索引数据添加到现有顶点和索引数据结构来显示两个立方体。它起作用了,并在屏幕上绘制了两个立方体。问题是当新立方体在旧立方体后面时,它会透出来。但是,当旧立方体在新立方体后面时,它不会显示出来。也许我的深度测试搞砸了?由于我的声誉,我不能发布图片:(不过,这是源代码的链接:https://www.dropbox.com/s/4xrq3gmnmbcz02m/EthanGillCubeSnap.zip非常感谢任何帮助!

ios - 在 GLKit/OpenGL-ES 中自动计算法线

我正在基于Apple的示例代码在OpenGL-ES中制作一些相当基本的形状。他们使用了一个点数组,第一个数组中有一个索引数组,每组三个索引创建一个多边形。太好了,我可以做出我想要的形状。为了正确地着色形状,我相信我需要计算每个多边形上每个顶点的法线。起初形状是立方体,所以很容易,但现在我正在制作(稍微)更高级的形状,我想自动创建这些法线。如果我得到一个多边形的两条边的向量(这里所有的多边形都是三角形)并为该多边形上的每个顶点使用它们的叉积,这似乎很容易。之后,我使用如下代码绘制形状。glEnableVertexAttribArray(GLKVertexAttribPosition);g

ios - 如何在 GLKit 中使用自定义着色器

有谁知道如何将自定义着色器与GLKit一起使用?不使用GLBaseEffect。最好的问候, 最佳答案 据我所知,您可以像在非GLKitOpenGLES2.0应用程序中一样设置和使用着色器程序。我目前更喜欢使用JeffLaMarche的GLProgram包装类,他作为thistutorial的一部分提供(代码应该链接在该页面的顶部),而不是每次都重写用于编译和链接着色器的所有样板代码。我在thisanswer中展示了它的一些标准用法.您仍然需要设置您的属性和制服,但是一旦您这样做了,您只需使用该程序并在您的GLKView中绘制您的几

iOS 5.0 GLKit GLKTextureLoader- glBindTexture 发生在哪里?

请问一个关于iOS5.0框架中的GLKit的快速问题。如果您使用GLKTextureLoader,它是否只加载当前事件纹理单元中的纹理?我查看了示例,但没有看到您必须说变量x中的GLKTextureInfo绑定(bind)到GL_TEXTURE0。我见过人们将glActiveTexture与GLKTextureLoader结合使用的示例,但看起来纹理只是自动锁定到事件纹理单元中。一旦我加载它,我只需要传入纹理坐标?提前致谢。 最佳答案 在GLKTextureLoader加载您的GLKTextureInfo对象之后,您就可以自己绑定(

iphone - 性能 : Quartz2D vs OpenGL ES (GLKit)

我正在开发一个项目,您可以使用触摸在屏幕上绘图。我考虑过使用OpenGL,但是我遇到了两个例子;一个使用OpenGL,另一个使用Quartz2D。ExampleprojectfromApple,GLPaint,usingOpenGLExampleprojectfromEffectiveUIusingQuartz2D让我印象深刻的是,Quartz实现比OpenGL实现快得多。我一直认为OpenGL会更快,因为它的级别较低,它几乎可以与硬件本身对话。我知道Quartz2D也使用OpenGL进行绘图,所以我的问题是;为什么GLPaint示例中的绘图这么慢?您能否对GLPaint项目进行任何优

ios - 四元数的 Arcball 旋转(使用 iOS GLKit)

我正在寻找一种在具有四元数的3D模型上进行轨迹球旋转的简单实现,特别是在iOS上使用GLKit。到目前为止,我已经检查了以下来源:ArcballrotationwithGLKitHowtorotatea3DobjectwithtouchesusingOpenGL我也一直在尝试从here中理解源代码和数学和here.我可以旋转我的物体,但它一直以特定角度跳来跳去,所以我担心万向节锁在起作用。我正在使用手势识别器来控制旋转(平移手势影响滚动和偏航,旋转手势影响俯仰)。我附上了四元数处理和模型View矩阵转换的代码。变量:GLK四元数旋转E;四元数处理:-(void)rotateWithXY