草庐IT

iphone - 为什么我的 OpenGL ES View 在 iOS 4.3 上有时是空白的?

我的应用“Guess-A-Sketch”在iOS4.3中存在绘图问题。我有一个显示为黑色的gl绘图Canvas。奇怪的是我发现如果我稍微调整oglView的框架大小它似乎工作..我在应用程序商店中的版本不起作用所以我必须进行更新来修复..虽然它看起来像漏洞。还有其他人看到这个吗?很烦人!即使我的框架调整修复了当我在View上进行动画转换时View闪烁黑色,这在以前的ios版本中是平滑的 最佳答案 您可能会遇到thisanswer中提到的问题.在iOS4.2中,渲染缓冲区的处理方式已更改以提高性能。来自OpenGLESProgramm

c++ - 使用 C++ 在 OpenGL ES 中显示纹理时出现问题

我正在尝试为iOS编写一个小型、可移植的2D引擎来学习C++和OpenGL。现在我正在尝试显示我已加载的纹理。在使用CoreGraphic库加载时我已经成功显示纹理,但现在我正在尝试使用fread和libpng在C++中加载文件和我只看到一个白框。我的纹理是64x64,所以它不是2的幂问题。我还启用了GL_TEXTURE_2D。第一个代码块用于加载png,将png转换为图像数据,并将数据加载到OpenGL中。voidAssetManager::loadImage(conststd::string&filename){Texturetexture(filename);png_struct

iphone - 如何在 openGLES 中创建新的 demon.model?

我想创建一个具有3d效果的旋转对象,我使用的是developer.apple.com提供的示例项目iPhoneGLEssentials。在示例项目中使用了demon.model文件,我需要创建自己的.model文件。谁能帮我创建所需的.model文件? 最佳答案 您可以从该演示的源代码中看出这不是一种通用格式。它只有位置、法线、纹理坐标和元素索引的数组。您可以在moduleUtil.h中看到它是如何从.model文件中读取的。您可以在线搜索可以为模型加载特定格式的库。像irrlicht这样的引擎支持多种格式,例如.3ds和.x。您可

iphone - iOs:与 OpenGL 混叠而不与 Cocos2D 混叠?

我是opengl编程的新手,但我正在做一些非常基础的事情,自定义opengl代码和cocos2d之间的质量差异是巨大的!我只是尝试加载图像并在每一帧连续旋转它。在我的代码中,我得到了很多闪烁的、锐利的边缘,而cocos2d则一切都很好很流畅。我已经在我的代码中使用苹果推荐的iOs4代码设置了4x多重采样抗锯齿,但与没有任何MSAA的cocos2d相比,它看起来仍然很糟糕。你可以在这里看到不同之处:自定义opengl代码(使用MSAA):cocos2D(没有MSAA):有谁知道我缺少什么才能实现如此流畅的图形?通过查看cocos2d代码,我发现了一些将别名链接到GL_LINEAR的引用资

ios - OpenGL ES 2.0/iOS : Skewed drawing of RGBA4 texture

我正在使用工作中的DDS加载程序加载我的纹理,但似乎存在倾斜绘制的RGBA4格式(GL_UNSIGNED_SHORT_4_4_4_4)的问题。我在背景(可以工作但使用RGB565)和其他纹理上使用相同的着色器。截图如下:如您所见,纹理是倾斜的,它应该是一个后退按钮。纹理加载也是正确的,它加载了它应该加载的所有字节(已调试)并且OpenGL加载看起来像这样:GL.TexImage2D(All.Texture2D,0,(int)All.Rgba,Width,Height,0,(int)All.Rgba,All.UnsignedShort4444,image.GetData());图像数据:

ios - 将gps坐标转换为AR中的opengl字

我有一个GPS坐标列表(经度、纬度)和我当前的位置(经度、纬度)。我发现通过减去这两个坐标,我找到了相对于我的位置的坐标,并且我在我的AR应用程序中使用该坐标来绘制opengl世界中的位置。问题是远处的坐标仍然太远而无法“看到”,所以我想要一个方程式来平移一切以接近我的位置,但要保持它们的原始相对位置。doublekGpsToOpenglCoorRatio=1000;-(void)convertGlobalCoordinatesToLocalCoordinates:(double)latitudex_p:(double*)x_plongitude:(double)longitudey_

ios - 使用 OpenGL-ES 的 3D CAD 模型

我正在努力将3DCAD模型导入我的iOS应用程序,但我很难弄清楚限制在哪里,谈到顶点和曲面的数量。我有一个模型有:表面:41525顶点数:21504基本上没有限制,但实际上加载到我的iOS应用程序中需要2小时。我一直没能找到一个好的方法来减少这个模型而不会造成太大的破坏,所以我非常想知道这是怎么可能的。我有AC3D和STEP格式的模型。我尝试通过AC3D减少多边形,但最终看起来很糟糕。 最佳答案 没有正式的限制,您实际获得的吞吐量将取决于您选择绘制内容的智能程度、您想要应用的表面效果类型等。综上所述,查看STEP文件会发现它是一种用

ios - OpenGL 在 iPhone/iPad 设备上渲染 GL_POINTS 看起来很糟糕(但在模拟器中看起来完全没问题)

我创建了一个OpenGLES游戏,该游戏在iOS上使用GLKView进行渲染。我还添加了一些位于GLKView顶部的自定义UIButton。在渲染中,我使用GL_POINTS渲染模式绘制了一些星星。在模拟器中一切都很好,但在设备上看起来很糟糕。我想知道是否有人对我应该在设备上配置/寻找的东西有任何建议,这些东西可能需要设置才能获得正确的渲染图像。以下是结果的几张图片:模拟器设备(请忽略自定义按钮缩放比例的差异-设备屏幕截图是在iPad上截取的)。 最佳答案 事实证明,问题与未在OpenGLES着色器中设置gl_PointSize有关

ios - OpenGL ES 2.0 缓冲区设置

我注意到如果我在颜色缓冲区之前绑定(bind)我的深度缓冲区,应用程序将按预期工作:glGenRenderbuffers(1,&_depthbuffer);glBindRenderbuffer(GL_RENDERBUFFER,_depthbuffer);glRenderbufferStorage(GL_RENDERBUFFER,GL_DEPTH_COMPONENT16,_sw,_sh);glGenRenderbuffers(1,&_renderbuffer);glBindRenderbuffer(GL_RENDERBUFFER,_renderbuffer);[_contextrende

objective-c - OpenGLES2 iOS : How best to stream vertex animation for dynamic terrain?

我正在编写一个创建动态640*480地形(每一帧都改变)的应用程序。每个地形都存储在一个原始数据文件中,该文件表示一串(float)高度值。到目前为止,我可以按顺序将文件读​​入内存,并根据每帧的高度值动态创建一个网格(帧率实际上是合理的),但在我的应用程序没有错误或堆栈退出之前,我在大约20帧时达到最大值跟踪。我怀疑我处理这个问题的方式不正确。我将如何流式传输这些数据,这样我就不必将每一帧都保存在内存中?这是我的数据类中的一个部分,其中包含地形集合:-(void)addModelWithID:(int)modelID;{NSString*resourcePath=[[NSBundle