草庐IT

ios - 天球中恒星的OpenGL可视化

我对iOS上的OpenGLES相当陌生,并且有一个宠物项目,最好的描述是本质上试图创建一个更原始的精彩版本Stellarium在iOS上。我正处于设法加载大约9000个顶点(每个代表一颗星星在夜空中可见的当前位置),通过将正确的模型旋转矩阵传递给顶点着色器,它们根据一天中的时间和用户的位置实时移动。换句话说,数学不是问题,EAGLView的基本设置、各种缓冲区和着色器编译等也不是问题,我基本上遵循了this。RayWenderlich的教程。计算顶点位置时,所有顶点位置都位于围绕位置(0,0,0)具有任意半径的不可见球体的表面上,模拟夜空。最终,我希望能够实现基本的拖动/捏合手势来移动

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 - 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

ios - 为什么 alpha 混合渐变纹理会在 OpenGL ES 2.0 中产生意想不到的结果?

我有一个径向渐变纹理(RGBA),从中心的黑色完全不透明颜色到边缘的完全透明颜色:我使用最新的OpenGL模板建立了一个iOS项目,该模板使用了GLKit。我添加了纹理功能并在setupGL方法中设置了以下代码:glEnable(GL_DEPTH_TEST);glEnable(GL_BLEND);glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);当我在白色背景上的正射投影中重叠这些纹理中的两个(每个都有一个单独的z)时,我期望是这样的:但我得到的是:我的问题很简单:为什么?难道OpenGLES2.0的blending达不到这个效果吗?(我