草庐IT

ios - iPhone 上的 OpenGL ES 可能存在 Retina 问题?

这可能链接到anotherunsolvedmystery我的。我正在iPhone上使用真实设备和模拟器绘制Orthographic2d。我正在尝试根据它们与我传入的“A”像素空间中的任意点的距离为我的像素着色给定颜色(硬代码)。我在Retina960x640分辨率下做所有事情。我计算从A到gl_FragCoord的距离,并根据2种颜色之间的跳跃来着色,“最大”距离为300像素。在模拟器上(带视网膜显示器)我需要为屏幕中点X提供一个“460”像素的中心点。Y我给160像素,我寻找“300”像素的距离......以获得同样的效果在设备上我需要960X的中心和150的距离来获得相同的结果(有

ios - OpenGL-ES:选择性混合

我正在使用GPUImage的角点检测器从相机捕获的帧中提取角点。我想在角坐标处渲染Spark。当我得到角坐标后,我将它传递给我的Spark生成器(非常类似于GPUImage的十字准线生成器):publicfuncrenderSparkles(_positions:[Position]){imageFramebuffer.activateFramebufferForRendering()imageFramebuffer.timingStyle=.stillImageglEnable(GLenum(GL_POINT_SPRITE_OES))sparklesShader.use()unifo

iphone - 关于通用 OpenGL ES 应用程序(iPhone 和 iPad)的建议?

我即将使用iOS4.2将基于iPhoneOpenGLES的应用程序转换为通用(iPhone+iPad)应用程序。你会给我什么建议?这样做有什么明显的缺陷吗? 最佳答案 确保获得屏幕尺寸的边界矩形,而不是对View大小或基于窗口坐标的任何内容进行硬编码。[[UIScreenmainScreen]边界];如果您的应用程序在iPhone3GS或更早版本(640x480)屏幕上不受填充限制(即硬件每秒只能获取这么多纹素并显示这么多片段),请认识到这一点。它很可能分别在iPad或iPhone4(1024x768或960x640)屏幕尺寸上受到

iphone - OpenGL ES Tiled Texture Mipmap 问题 - iPad/iPhone

我在使用OpenGLES的iPad上遇到了传统的tile/mipmap问题。基本上,如果您有一个大纹理(大于1kX1k),您可以将它分解成多个部分并将这些部分映射到单独的多边形上。您可以将纹理坐标固定在边缘上,这在大多数情况下都有效,但您会在边界上得到伪影。现在我知道你为什么会得到这个并且知道传统的解决方案是什么。也就是说,您在每个较小的纹理(比如6个像素)的外部制作了一个边框。你从小纹理采样到大纹理,所以你只使用像素内部的那些(比如256-2*6)。然后将有效像素涂抹到边界区域。最后,您将纹理坐标映射为仅使用那些有效的内部像素。工作正常。如果您此时不点头,请不要尝试回答。:-)无论如

iphone - 我应该使用哪种 OpenGL ES 纹理格式以在 iPad 上获得更好的动态范围?

我正在开发一些使用纹理贴图来存储几何图形的软件。使用GL_RGB作为内部格式会产生很多锯齿,我假设是因为默认情况下纹理被压缩到GL_RGB4。在台式机上我可以使用GL_RGB16或GL_RGB32F(等)来设置内部格式,但在OpenGLES2.0下似乎没有任何这些格式。在IOS下是否有可供我使用的替代方案或扩展? 最佳答案 根据Apple(和我自己的经验)GL_RGB和GL_UNSIGNED_BYTE使用8:8:8存储。要降低颜色精度,您需要指定一种GL_UNSIGNED_SHORT_5_6_5类型或将多个channel打包成一个短

ios - 与 OpenGL ES + CoreData 的并发

我有三个任务:获取任务。它从CoreData获取对象(大约2000个)并将NSManagedObjectIDs传递到主线程,在那里它们被转换回NSManagedObjects并存储在NSArray中。此任务的优先级最低。计算任务。此任务遍历这些对象并计算对象的一些值。这些值存储为NSManagedObject子类的临时属性。此任务是第二高优先级。OpenGLES绘图任务。这是根据计算任务的结果更新UI的绘图循环。此任务具有最高优先级,因为任何减速都会降低帧速率,并且在缩放或平移时非常明显。我的问题是创建一个设计模式,允许前两个任务完成它们的工作,同时仍然允许OpenGL任务以最大帧速率

ios - 如何在 iOS 中复制 OpenGL ES 帧缓冲区?

我想在我的iOS游戏中将OpenGLES帧缓冲区从视频RAM复制到视频RAM。这是怎么做到的?理想情况下,我每秒执行此操作30次。然后将复制缓冲区的内容分段传输到CPU(不要一次全部传输,因为这会导致游戏卡顿)。 最佳答案 编辑:我想说你应该看看帧缓冲区对象(FBO),你可以在下面的帖子中找到一个例子:https://devforums.apple.com/message/23282#23282这将允许您将场景渲染到附加到FBO的纹理中,然后使用该纹理。PS:感谢Christian指出我的错误(我第一次读到MrMusic想将VRAM

iOS opengl 游戏。意外的触摸行为导致商店拒绝

我们在这里需要一些建议。我们使用opengl开发了一个ios游戏。该应用程序使用EAGLView接收触摸事件并实现自定义渲染器。我们已经在模拟器和设备中测试了二进制文件,从ios版本3到4.2.1。一切正常。因此,我们提交审批并在审查后收到拒绝,理由是该游戏不提供功能,并且它只有一个主菜单和三个按钮,所有这些按钮都将用户带到一个网页...事实上,游戏菜单中有三个按钮,但只有第一个是“更多”在线游戏的链接……按下其他按钮可将玩家带到游戏的其他部分。我们一直无法重现这一点,我现在的猜测是新的ios版本(5)改变了API中的某些内容并且touchbegan和touchend方法的行为有所不同

c# - OpenGL ES 2.0/MonoTouch : Texture is colorized red

我目前正在将立方体贴图加载到我的应用程序中,但它显示为红色。编辑:channel问题在使用2D纹理时也存在,似乎channel的顺序不正确。有什么方法可以使用iOS方法更改channel的顺序吗?这是纹理加载的代码:publicTextureCube(Generic3DViewdevice,UIImageright,UIImageleft,UIImagetop,UIImagebottom,UIImagefront,UIImageback):base(device){_Device=device;GL.GenTextures(1,ref_Handle);GL.BindTexture(Te

iphone - 将 WebGL 游戏移植到 iPhone 的原生 OpenGL?

我们正在开发一款网络游戏,该游戏的两个最大部分都使用了WebGL。使用HTML/CSS太慢且受限太多,因此不在讨论之列。问题是,iOS目前还不公开支持WebGL,仅在iAd上支持。我猜测,一旦他们和微软声称已解决的安全问题得到解决并且看起来足够稳定,Apple最终会支持它。问题是,如果Apple在发布下一个主要iOS版本时不这样做,那么我们手中将有一个无法运行的移动WebGL游戏。浪费6个月的开发和测试。那么,问题:如果是这样,那么将游戏的WebGL部分移植到nativeiPhoneOpenGL的可行性如何(就时间而言)?移植的时间恐怕比游戏本身的开发时间还要长。我在StackOver